C语言顺序结构及分支结构编程案例详解Word下载.docx
《C语言顺序结构及分支结构编程案例详解Word下载.docx》由会员分享,可在线阅读,更多相关《C语言顺序结构及分支结构编程案例详解Word下载.docx(25页珍藏版)》请在冰点文库上搜索。
5、两个数相加后乘以5
输入:
两个整数
两个整数的和乘以5
14
25
sum=(a+b)*5;
6、已知某种铅密度为11340kg/m3,求输入球的直径(厘米数),求铅球有多少kg。
仅仅一个小数
输入样例:
9.8
voidmain()
doubler;
r);
doublev,m;
v=4.0/3*3.141592657*(r/200)*(r/200)*(r/200);
m=v*midu;
m);
7、铅密度为11340kg/m3,输入外直径(cm),内径(cm),求空心球有多kg?
两个小数(空格分隔)
一个小数
输入样例;
9.8
5.1
4.800801
#definepi3.141592657
doubleR,r;
intp;
p=11340;
%lf%lf"
R,&
doubleM,m;
M=p*4.0/3*pi*R/2*0.01*R/2*0.01*R/2*0.01;
m=p*4.0/3*pi*r/2*0.01*r/2*0.01*r/2*0.01;
%lf\n"
M-m);
8、输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9输出要求有文字说明,取位2小数。
一个华氏温度,浮点数
c=摄氏温度,(保留两位小数)
输入样例:
-40
c=-40.00
doublec,f;
f);
c=5*(f-32)/9;
c=%0.2lf\n"
c);
9、从1到9任选一个你喜欢的数字,先乘以3,再加上3,再乘以3,最后把个位数和十位数相加,得到结果是什么?
输入:
3
结果:
9
inta,b,c,d,e;
%d"
a);
b=((a*3)+3)*3;
c=b/10;
d=b%10;
e=c+d;
e);
10、输入三个数a,b,c,表示三角形的三个边长
输出三角形面积的平方值,结果保留2位小数
p(p-a)(p-b)(p-c),其中p=(a+b+c)/2;
例如,
3.1
4.1
5.1
40.38
注意:
printf("
%.2lf"
double)保留2位小数
doublea,b,c,p,s;
%lf%lf%lf"
b,&
c);
p=(a+b+c)/2;
s=p*(p-a)*(p-b)*(p-c);
s);
11、求一元二次方程ax2+bx+c=0的解。
a,b,c为任意实数。
输入数据有一行,包括abc的值
(保留2位小数)x1
x2实根,且要求x1>
=x2输出
提示:
计算平方根用sqrt()函数,例如y=sqrt(x)
则y就得到x的平方根
例如输入:
1.0
4.0
1.0
-0.27
-3.73
math.h>
doublea,b,c,x,d;
doublex1,x2;
d=sqrt(b*b-4*a*c);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
if(x1>
=x2)
%.2lf%.2lf"
x1,x2);
else
x2,x1);
12、输出一个三位数,将它反向输出。
如输入:
127
输出:
721
提示:
需要求出这个数的个、十、百位上的数字
用到的技巧就是,整数相除还是整数的办法,比如235/100就等于2
b=a/100;
c=(a/10)-b*10;
d=a%10;
e=d*100+c*10+b;
分支结构
13、输入3个整数,判断第一个数是不是最大的数?
3
45
6
1
2
1
答案一:
inta,b,c;
%d%d%d"
if(a>
b&
&
a>
c)
printf("
1"
0"
答案二:
if(a<
b)
0\n"
{
if(a<
printf("
else
1\n"
}
14、输入两个实数,按由小到大的次序输出两数
输入两个单精度的实数,例如:
3.22.8
输出结果为从大到小排序,例如:
2.803.20
输出结果保留小数点后两位
doublea,b;
if(a<
%0.2lf%0.2lf\n"
a,b);
b,a);
15、输入两个整数,判断其是否相等。
例如:
1)输入:
35
a!
=b
2)输入:
44
a==b
%d%d"
if(a==b)
a==b"
=b"
16、编写一个程序,输入a、b两个,输出其中最大值。
两个小数
ab其中最大的数
保留2位小数
10.220.3
20.30
a);
b);
17、编写一个程序,输入a、b、c三个值,输出其中最大值。
一行数组,分别为abc
abc其中最大的数
102030
30.00
doublea,b,c;
%.2lf\n"
elseif(b>
a&
b>
doubled,e;
d=a*1.0>
b*1.0?
a*1.0:
b*1.0;
e=d*1.0>
c*1.0?
d*1.0:
c*1.0;
18、输入一个年份,判断一个年份是否为闰年
一个正整数,比如2008
一个字母“y”或者“n”(引号不输出)
2008
y
inta;
if(a%4==0&
a%100!
=0||a%400==0)
y"
n"
{
intn;
n);
if(n%100==0)
{
if(n%400==0)
y\n"
n\n"
else
if(n%4==0)
19、简单的计算器计算:
输入a+b能计算出其和,输入a-b能计算其差,同理乘除。
除法用"
/"
表示,但是若出现4/0则输出“error”,
建议使用数据类型使用float类型,“+-*/”使用char。
输出格式%.2f
1+2
3.00
1/0
error
HINT:
floata;
charb;
floatc;
%f%c%f"
floata,b;
charop;
%f%c%f"
op,&
switch(op)
case'
+'
:
%.2f"
a+b);
break;
-'
a-b);
*'
a*b);
/'
if(b!
=0)
a/b);
error"
break;
default:
"
doublea,c,d;
%lf%c%lf"
if(b=='
)
{d=a*1.0+c*1.0;
d);
elseif(b=='
{d=a*1.0-c*1.0;
elseif(b=='
{d=a*1.0*c*1.0;
c!
{d=a*1.0/c*1.0;
c==0)
20、看看你们的缘分!
!
计算出你和另一个人的关系,准的邪门了!
计算的方法很简单,将你们姓名笔划的总数作比较,以大的数字减小的
例如:
大雄想知道自己和叮当的关系是什,要将自己名字的笔划(共15划)和叮当名
字的笔划(共21划)相减(即21-15),得出的数字是6,「帮你的人」。
十分准确啊!
快来试试吧!
差值对照表:
0亲密无间
1永远和你在一起
2水火不相容
3知心朋友
4心上人
5帮你做事的人
6帮你的人
7面和心不合
8男女关系不正常
9情投意合
10关系马虎
11尊敬你的人
12爱你的人
13适合你的
14说你坏话的人
15克星
16救星
17忠心的人
18狼心狗肺的人
19单相思
20山盟海誓
21情敌
22服从你的人
23永远在一起
24伴终生
25恨你又爱你
比25大:
你俩缘分超出计算范围
c=a>
b?
a:
b;
d=a<
e=c-d;
switch(e)
case0:
亲密无间"
case1:
永远和你在一起"
case2:
水火不相容"
case3:
知心朋友"
case4:
心上人"
case5:
帮你做事的人"
case6:
帮你的人"
case7:
面和心不合"
case8:
男女关系不正常"
case9:
情投意合"
case10:
关系马虎"
case11:
尊敬你的人"
case12:
爱你的人"
case13:
适合你的"
case14:
说你坏话的人"
case15:
克星"
case16:
救星"
case17:
忠心的人"
case18:
狼心狗肺的人"
case19:
单相思"
case20:
山盟海誓"
case21:
情敌"
case22:
服从你的人"
case23:
永远在一起"
case24:
伴终生"
case25:
恨你又爱你"
Default:
你俩缘分超出计算范围"
21、求一元二次方程ax2+bx+c=0的解。
abc
如果a为0同时b为0,则输出"
Notanequation"
(N大写,单词间一个空格)
如果a为0,退化一次方程,则只输出一个根的值既可以
a不为0则按以下格式输出方程的根x1和x2。
x1和x2之间有一个空格。
(1)如果x1和x2为实根,则以x1>
=x2输出。
(2)如果方程是共轭复根,x1=m+ni,x2=m-ni,其中n>
0。
其中x1,x2,m,n均保留2位小数。
样例输入:
123
样例输出:
-1.00+1.41i-1.00-1.41i
两个根中间有一个空格
平方根用函数sqrt(x),
并同时需要#include<
保留2位小数用printf("
..)
输出i的方法printf("
%0.2lf+%0.2lfi%0.2lf-%0.2lfi"
你的实部,你的虚部,你的实部,你的虚部)
inta,b,c;
//定义方程的三个参数//
doublep,m,n,x1,x2,x,y;
//定义实根和虚根以及b^2-4ac的值
以及用于交换最大最小值的x,y//
p=(b*b-4*a*c)*1.0;
if(a==0&
b==0)
elseif(a==0&
b!
x1=(c*1.0/b*1.0)*(-1);
x1);
elseif(a!
if(p>
x1=(-b+sqrt(p))/(2*a)*1.0;
x2=(-b-sqrt(p))/(2*a)*1.0;
x=x1>
x2?
x1:
x2;
y=x1<
x,y);
}
m=(-b*1.0)/(2*a*1.0);
n=sqrt(-p)*1.0/(2*a*1.0);
if(n<
0)
n=-n;
%.2lf+%.2lfi%.2lf-%.2lfi"
m,n,m,n);
22、实现符号函数求解。
输入变量为大于0的实数时,输出
1
输入变量为小于0的实数时,输出
-1
输入变量为0时,输出0
elseif(a==0)
-1"
23、输入一个双精度类型的分数,判断该分数属于哪个等级,
1)如果输入的分数不在0-100之间,输出:
error!
2)输入分数大于等于90,小于等于100,输出:
A
3)输入分数大于等于80,小于90,输出:
B
4)输入分数大于等于70,小于80,输出:
C
5)输入分数大于等于60,小于70,输出:
D
6)输入分数小于60,输出:
E
floatscore;
%f"
score);
if(score<
0||score>
100)printf("
elseif(score>
=0&
score<
60)printf("
E"
elseif(score<
70)printf("
D"
80)printf("
C"
90)printf("
B"
elseprintf("
A"
24、输入三个整数,按照由小到大顺序输出出来。
例如:
12
5
8
8
12
inta,b,c,d,e,f,g,h;
e=d<
c?
d:
c;
f=a>
g=f>
f:
if(a>
e&
a<
g)
{h=a;
e,h,g);
elseif(b>
b<
{h=b;
e,c,g);
intmain