C语言顺序结构及分支结构编程案例详解.docx
- 文档编号:29205892
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:24
- 大小:20.56KB
C语言顺序结构及分支结构编程案例详解.docx
《C语言顺序结构及分支结构编程案例详解.docx》由会员分享,可在线阅读,更多相关《C语言顺序结构及分支结构编程案例详解.docx(24页珍藏版)》请在冰豆网上搜索。
C语言顺序结构及分支结构编程案例详解
顺序结构入门——及熟悉环境
1、
答案:
#include<>
intmain()
{
printf("GoodMorining\n");
return0;
}
2、已知某种铅密度为11340kg/m3,求厘米铅球有多少kg
这里要求:
pi的取值为,小数用double表示,printf("%lf"输出)
输入格式:
仅仅一个小数
输出格式:
无
输出样例:
答案:
#include<>
#definemidu11340
intmain()
{
doubler=;
doublev;
doubleweigh;
weigh=v*midu;
printf("%lf",weigh);
}
3、两个数相加
输入两个整数
输出两个整数的和
比如输入:
14
输出:
5
答案:
#include<>
voidmain()
{
inta,b;
intsum;
scanf("%d%d",&a,&b);
sum=a+b;
printf("%d\n",sum);
}
4、输入两个整数a,b,
比如输入:
14
输出:
-15
答案:
#include<>
voidmain()
{
inta,b;
intsum;
scanf("%d%d",&a,&b);
sum=(a-b)*(a+b);
printf("%d\n",sum);
}
5、两个数相加后乘以5
输入:
两个整数
输出:
两个整数的和乘以5
比如输入:
14
输出:
25
答案:
#include<>
voidmain()
{
inta,b;
intsum;
scanf("%d%d",&a,&b);
sum=(a+b)*5;
printf("%d\n",sum);
}
6、
输入格式:
仅仅一个小数
输出格式:
仅仅一个小数
输入样例:
输出样例:
答案:
#include<>
#definemidu11340
voidmain()
{
doubler;
scanf("%lf",&r);
doublev,m;
m=v*midu;
printf("%lf",m);
}
7、
输入格式:
两个小数(空格分隔)
输出格式:
一个小数
输入样例;
输出样例:
答案:
#include<>
intmain()
{
doubleR,r;
intp;
p=11340;
scanf("%lf%lf",&R,&r);
doubleM,m;
M=p*3*pi*R/2**R/2**R/2*;
m=p*3*pi*r/2**r/2**r/2*;
printf("%lf\n",M-m);
return0;
}
8、输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9输出要求有文字说明,取位2小数。
输入:
一个华氏温度,浮点数
输出:
c=摄氏温度,(保留两位小数)
输入样例:
-40
输出样例:
c=
答案:
#include<>
voidmain()
{
doublec,f;
scanf("%lf",&f);
c=5*(f-32)/9;
printf("c=%\n",c);
}
9、从1到9任选一个你喜欢的数字,先乘以3,再加上3,再乘以3,最后把个位数和十位数相加,得到结果是什么
输入:
3
结果:
9
答案:
#include<>
voidmain()
{
inta,b,c,d,e;
scanf("%d",&a);
b=((a*3)+3)*3;
c=b/10;
d=b%10;
e=c+d;
printf("%d",e);
}
10、输入三个数a,b,c,表示三角形的三个边长
输出三角形面积的平方值,结果保留2位小数
p(p-a)(p-b)(p-c),其中p=(a+b+c)/2;
例如,
输入:
输出:
注意:
printf("%.2lf",double)保留2位小数
答案:
#include<>
voidmain()
{
doublea,b,c,p,s;
scanf("%lf%lf%lf",&a,&b,&c);
p=(a+b+c)/2;
s=p*(p-a)*(p-b)*(p-c);
printf("%.2lf",s);
}
11、求一元二次方程ax2+bx+c=0的解。
a,b,c为任意实数。
输入:
输入数据有一行,包括abc的值
输出:
(保留2位小数)x1x2实根,且要求x1>=x2输出
提示:
计算平方根用sqrt()函数,例如y=sqrt(x)则y就得到x的平方根
例如输入:
输出:
答案:
#include<>
#include<>
voidmain()
{
doublea,b,c,x,d;
doublex1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
d=sqrt(b*b-4*a*c);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
if(x1>=x2)
printf("%.2lf%.2lf",x1,x2);
else
printf("%.2lf%.2lf",x2,x1);
}
12、输出一个三位数,将它反向输出。
如输入:
127
输出:
721
提示:
需要求出这个数的个、十、百位上的数字
用到的技巧就是,整数相除还是整数的办法,比如235/100就等于2
答案:
#include<>
intmain()
{
inta,b,c,d,e;
scanf("%d",&a);
b=a/100;
c=(a/10)-b*10;
d=a%10;
e=d*100+c*10+b;
printf("%d\n",e);
}
分支结构
13、
例如,
输入:
345
输出:
0
输入:
612
输出:
1
答案一:
#include<>
voidmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a>c)
printf("1");
else
printf("0");
}
答案二:
#include<>
voidmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a
printf("0\n");
else
{
if(a printf("0\n"); else printf("1\n"); } } 14、 输入两个单精度的实数,例如: 输出结果为从大到小排序,例如: 输出结果保留小数点后两位 答案: #include<> intmain() { doublea,b; scanf("%lf%lf",&a,&b); if(a printf("%%\n",a,b); else printf("%%\n",b,a); return0; } 15、 例如: 1)输入: 35 输出: a! =b 2)输入: 44 输出: a==b 答案: #include<> voidmain() { inta,b; scanf("%d%d",&a,&b); if(a==b) printf("a==b"); else printf("a! =b"); } 16、编写一个程序,输入a、b两个,输出其中最大值。 输入: 两个小数 输出: ab其中最大的数保留2位小数 输入样例: 输出样例: 答案: #include<> voidmain() { doublea,b; scanf("%lf%lf",&a,&b); if(a>b) printf("%.2lf",a); else printf("%.2lf",b); } 17、编写一个程序,。 输入: 一行数组,分别为abc 输出: abc其中最大的数保留2位小数 输入样例: 102030 输出样例: 答案一: #include<> voidmain() { doublea,b,c; scanf("%lf%lf%lf",&a,&b,&c); if(a>b&&a>c) printf("%.2lf\n",a); elseif(b>a&&b>c) printf("%.2lf\n",b); else printf("%.2lf\n",c); } 答案二: #include<> voidmain() { inta,b,c; doubled,e; scanf("%d%d%d",&a,&b,&c); d=a*>b*a*: b*; e=d*>c*d*: c*; printf("%.2lf",e); } 18、输入一个年份, 输入: 一个正整数,比如2008 输出: 一个字母“y”或者“n”(引号不输出) 输入样例: 2008 输出样例: y 答案一: #include<> voidmain() { inta; scanf("%d",&a); if(a%4==0&&a%100! =0||a%400==0) printf("y"); else printf("n"); } 答案二: #include<> voidmain() { intn; scanf("%d",&n); if(n%100==0) { if(n%400==0) printf("y\n"); else printf("n\n"); } else { if(n%4==0) printf("y\n"); else printf("n\n"); } } 19、简单的计算器计算: 输入能计算出其和,输入a-b能计算其差,同理乘除。 除法用"/"表示,但是若出现4/0则输出“error”, 建议使用数据类型使用float类型,“+-*/”使用char。 输出格式%.2f 输入: 1+2 输出: 输入: 1/0 输出: error HINT: floata; charb; floatc; scanf("%f%c%f",&a,&b,&c); 答案一: #include<> voidmain() { floata,b; charop; scanf("%f%c%f",&a,&op,&b); switch(op) { case'+': printf("%.2f",a+b);break; case'-': printf("%.2f",a-b);break; case'*': printf("%.2f",a*b);break; case'/': if(b! =0) printf("%.2f",a/b); else printf("error"); break; default: printf(""); } } 答案二: #include<> voidmain() { doublea,c,d; charb; scanf("%lf%c%lf",&a,&b,&c); if(b=='+') {d=a*+c*; printf("%.2lf",d);} elseif(b=='-') {d=a**; printf("%.2lf",d);} elseif(b=='*') {d=a**c*; printf("%.2lf",d);} elseif(b=='/'&&c! =0) {d=a*c*; printf("%.2lf",d);} elseif(b=='/'&&c==0) printf("error"); } 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大: 你俩缘分超出计算范围 答案: #include<> voidmain() { inta,b,c,d,e; scanf("%d%d",&a,&b); c=a>ba: b; d=a b; e=c-d; switch(e) { case0: printf("亲密无间");break; case1: printf("永远和你在一起");break; case2: printf("水火不相容");break; case3: printf("知心朋友");break; case4: printf("心上人");break; case5: printf("帮你做事的人");break; case6: printf("帮你的人");break; case7: printf("面和心不合");break; case8: printf("男女关系不正常");break; case9: printf("情投意合");break; case10: printf("关系马虎");break; case11: printf("尊敬你的人");break; case12: printf("爱你的人");break; case13: printf("适合你的");break; case14: printf("说你坏话的人");break; case15: printf("克星");break; case16: printf("救星");break; case17: printf("忠心的人");break; case18: printf("狼心狗肺的人");break; case19: printf("单相思");break; case20: printf("山盟海誓");break; case21: printf("情敌");break; case22: printf("服从你的人");break; case23: printf("永远在一起");break; case24: printf("伴终生");break; case25: printf("恨你又爱你");break; Default: printf("你俩缘分超出计算范围"); } 21、求一元二次方程ax2+bx+c=0的解。 a,b,c为任意实数。 输入: 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 样例输出: + 提示: 两个根中间有一个空格 平方根用函数sqrt(x), 并同时需要#include<> 保留2位小数用printf("%.2f",..)输出i的方法printf("%+%%%",你的实部,你的虚部,你的实部,你的虚部) 答案: #include<> #include<> voidmain() { inta,b,c;lf",x1); } elseif(a! =0) { if(p>=0) { x1=(-b+sqrt(p))/(2*a)*; x2=(-b-sqrt(p))/(2*a)*; x=x1>x2x1: x2; y=x1 x2; printf("%.2lf%.2lf",x,y); } else { m=(-b*/(2*a*; n=sqrt(-p)*(2*a*; if(n<0) n=-n; printf("%.2lf+%.2lfi%.2lf-%.2lfi",m,n,m,n); } } } 22、 输入变量为大于0的实数时,输出1 输入变量为小于0的实数时,输出-1 输入变量为0时,输出0 答案: #include<> voidmain() { inta; scanf("%d",&a); if(a>0) printf("1"); elseif(a==0) printf("0"); else printf("-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 答案: #include<> voidmain() { floatscore; scanf("%f",&score); if(score<0||score>100)printf("error! "); elseif(score>=0&&score<60)printf("E"); elseif(score<70)printf("D"); elseif(score<80)printf("C"); elseif(score<90)printf("B"); elseprintf("A"); } 24、 例如: 输入: 1258 输出: 5812 答案一: #include<> voidmain() { inta,b,c,d,e,f,g,h; scanf("%d%d%d",&a,&b,&c); d=a b; e=d c; f=a>ba: b; g=f>cf: c; if(a>e&&a {h=a; printf("%d%d%d",e,h,g);} elseif(b>e&&b {h=b; printf("%d%d%d",e,h,g);} elseprintf("%d%d%d",e,c,g); } 答案二: #include<> intmain() { inta,b,c; scanf("%d%d%d",&a,&b,&c); if(a! =b&&a! =c&&b! =c) if(a>b&&b>c) printf("%d%d%d\n",c,b,a); elseif(a>c&&c>b) printf("%d%d%d\n",b,c,a); elseif(b>a&&a>c) printf("%d%d%d\n",c,a,b); elseif(b>c&&c>a) printf("%d%d%d\n",a,c,b); elseif(c>a&&a>b) printf("%d%d%d\n",b,a,c); elseif(c>b&&b>a) printf("%d%d%d\n",a,b,c); else printf("%d%d%d\n",a,b,c); return0; } 25、输入1~12,对应: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,如果不是上述内容,则输出error! 例如: 1) 输入: 3 输出: Mar 2) 输入: 13 输出: error! 答案: #include<> voidmain() { intm; scanf("%d",&m); switch(m) { case1: printf("Jan");break; case2: printf("Feb");break; case3: printf("Mar");break; case4: printf("Apr");break; case5: printf("May");break; case6: printf("Jun");break; case7: printf("Jul");break; case8: printf("Aug");break; case9: printf("Sep");break; case10: printf("Oct");break; case11: printf("Nov");break; case12: printf("Dec");break; default: printf("error! "); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 顺序 结构 分支 编程 案例 详解