c语言if语句练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言i f语句练习题(总8页) -CAL-FENGHAI.-(YICAI)-Company One1
-CAL-本页仅作为文档封面,使用请直接删除
c语言if语句练习题
1、输入一个学生成绩,判断并输出该学生是否及格。

#include main { int a; printf ; scanf ; if printf ; else switch { case 0: case 1: case: case: case: case: printf ; break; 为B\n”); } } 2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,
输出提示。

拓展练习:根据用户输入的三角形的三条边长
判定是何种三角形。

提示:正三角形——三边相等;
等腰三角形——三边中有两边相等;直角三角形——两边的平房和等于第三边平方。

case: printf; break; case: printf; break; case: printf; #include #include main { float a,b,c,d; \n”); printf ; d=/2; if { if {printf ; printf ; } else { if { printf ; printf **),a+b+c); } else { if
{ printf ; printf **),a+b+c); } else { printf ; printf **),a+b+c); } } } } else printf ; } 3、输入3个
分别表示箱子长、宽、高的整数值,判断并输出该箱子是
正方体还是长方体。

马克思手稿中有一道趣味数学题:
有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭
共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人
解方程组编写程序,采用穷举法求出结果。

编写程序,根据以下公式求e的值。

要求用两种方法计算:
111111 e11!2!1) for循环,计算前50项 2)while 循环,直
至最后一项的值小于10-4 3!4!5!n! 从键盘中输入一个数字,用循环语句编程判断并输出这个数字的位数。

猴子
吃桃子问题。

猴子第一天摘下若干个桃,当即只一半,又
多吃一个。

第二天早上又将剩下的一半吃掉一半,双多
吃一个。

以后每天早上都吃了前天剩下的一半零一个,到
第10天早上只剩下最后一个桃。

问第一天摘了几个桃。

编程打印九九乘法表青年歌手参加歌曲大奖赛,有10
个评委打分,试编程求选手的平均得分。

从键盘中输入一个数字 1) 输入数据为浮点型,不用数组,不用字符
串,只有变量的算术运算实现此功能。

2) 使用数组来进
行编程。

使用数组,编写一个十进制正整数转换为任意进制数的转换工具。

10进制327转八进制: 327/=0 余数为7 40/=余数为0 于是八进制数为507)使用数组,编写一个任意进制正整数转换为十进制的转换工具。

10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6, 14,20。

然后按下列规则调整,所有小孩同时把自己的糖果分一半给右
边的小孩,糖块数变为奇数的人,再向老师补要一块,问
经过多少次调整后,大家的糖块一样多,且每人多少块。

编写一个函数,用以求x2-5x+4的值,x做为函数的形参,
调用此函数,求: y1=2-5×2+4 Y2=2-5+4 Y3=2-5sinx+4
sinx 可以加载”math.h” 库函数后使用,函数说明为 double sin 编写一个函数,使给定的一个二维数组行列互换。

从键盘中输入一个不超过40个字符的字符串,再输入一个
位数,删除对应位数的字符,然后输出删除指定字符后
的字符串要求:1) 用puts输出指示信息 2) 用gets接收字符串如果有一个正整数从左、右来读都是一样的,则
称为回文式数;比如101,32123, 999都是回数。

数学
中有名的“回数猜想”之迷,至今未解决。

回数猜想:任
取一个数,再把它倒过来,并把这两个数相加,然后把这
个和数再倒过来,与原和数相加,重复此过程,一定能获
得一个回数。

例:倒过来是6 68+86= 154
154+541=05 605+506=1111 编程,输入任意整数,按上
述方法产生一个回数,为简便起见,最多计算7步,看是
否能得到一个回数。

要求:主函数中接收键盘数据,
必须用scanf接收整型变量,显示该数与其倒数的和,输出每一步计算步骤。

子函数1,计算该数的倒数。


函数2,验证和是否为回数,是则主函数打印“经过n次
计算,得到回数”,超过7次未能得到回数,显示,“经过n
次计算,未得到回数”求Sn=a+aa+aaa+------+aaaaaaa,其
中a和n都从键盘中输入,如从键盘中输入2,5,则计算
S5=2+22+222+2222+22222。

#include “stdio.h” void main { int a,n,i=1; long s=0,t=0; printf; scanf; printf;
scanf; while { t=t+a; s=s+t; a=a*10; ++i; } printf; } 两个乒乓球队进行比赛,各出三人。

甲队为A,B,C三人,乙队为X,Y,Z三人。

已抽签决定比赛
名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,编程找出三对选手的对手名单。

注:使用穷举法#include”stdio.h” int main { int i,j,k; for { for { for { if continue; if { printf; printf; printf; return 0; } } } } return 0; } 编写一个函数,函
数说明为: char lastchar 功能:求一个字符串的最后一个字符,如果是空串,则返回空字符。

再利用该函数编程,输入两个字符串,输出第一字符串的最后一个字符和
第二个字符串的最后一个字符。

韩信点兵。

韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。

编程求韩信至少有多少兵#include “stdio.h” void main {int i; for {if {printf;break;}}} 用递归方法计算下列函数的值: fx =x-x2+x3-x4+......n-1xn n>0 要求: 1) 写出递归函数的原型 2) 编写程序用递归法将一个整数转换成字符形式输出。

例如输入483,应输出字符串“483”。

其程序如下,请验证,并修改程序,增加显示出
输入数字的位数的功能,并使输出结果与下图一致。

void convert { long i; if !=0) convert; putchar; } main { long number; scanf; if {putchar; number= -number;} convert ; } 利用以下公式,编程计算π的值,直到最后一项的绝对值 )小于0.0001为止。

题目:有1、2、3、4 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:#include “stdio.h”#include “conio.h”main { int i,j,k; printf; for /*以下为三重循环*/ for for { if /*确保i、j、k三位互不相同*/ printf; } getch; }
=========================================== 题目:企业发放的奖金根据利润提成。

利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于0万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:#include “stdio.h”
#include “conio.h” main { long int i; int
bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf; bonus1=100000*0. 1; bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if bonus=i*0.1; else if bonus=bonus1+*0.075; else if bonus=bonus2+*0.05; else if bonus=bonus4+*0.03; else if bonus=bonus6+*0.015; else 实验四 1. 熟悉和掌握if、switch的使用方法;学会编写简单的分支程序结构。

2. 熟悉for语句的一般形式,学会编写简单的循环结构程序。

1、将所有题的
程序复制在以班级、学号和名字命名的word文档中,并将该文档上传至对应ftp地址的作业上传文件中,比如命名为”500班2010210010白立民.doc”。

2、编程题的第4题为选做题。

一、程序改错分析下面的程序:如果下列语句来实现s=1+2+3+4+5的累加功能。

请分析、运行程序,找出程序中存在的错误并进行修改。

#include main { int i, s = 0; for; s = s + i; printf; } 二、程序填空有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完请在、处填空,并
上机调试运行。

#include main { int day, x1, x2; day = 0; x1 = 1020; while { x= ; x1 = x2;
day++; } printf; } 三、编程题 1、编一程序,要求
实现下面的功能:输入一个实数后,屏幕上显示如下菜
单: 1.输出相反数 2.输出平方数 3.输出平方根 4.退出程序运行的效果为:若按1键,则输出该数的相反数;若按2键,则输出该数的平方数;……。

按1 ~4之外的其他键时,显示出错,、。

2、课本P85第12题3.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=13+53+33。

分析:利用for循环
控制100-999个数,每个数分解出个位,十位,百位。

4.兔子繁殖问题:假设小兔子每隔一个月长成大兔子,大兔子每月生一只小兔子。

第一个月有一只小兔子,求n
个月后有多少只兔子令f为n个月后兔子的数目,则第
一个月有一只小兔子,f=1,第二个月小兔子长成大兔子,f=1,第三个月,大兔子生一只小兔子,兔子数目为2,第四个月大兔子生了一只小兔子,原来的小兔子长成大兔子,小兔
子数目为1,大兔子数目为2,兔子总数为3,于是,兔子的数目可以用序列表示:1,1,2,3,5,8,13,21,……其中从第三项开始,任一项为前两项之和。

相关文档
最新文档