ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:24.81KB ,
资源ID:6667181      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6667181.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序案例解析.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言程序案例解析.docx

1、c语言程序案例解析上机注意: 1、请大家在VC6.0中建立工程,编写代码,编译(compile),链接(build),运行(execute program)后,输入题目中的例子输入,在输出与题目中的例子输出一致后再提交到编程网格上。 2、建立VC6.0工程(project)时,请建立Win32 Console Application。 3、下面是练习2中的两个习题讲解 /* * 练习2、习题(4-1) 计算邮资 * 习题讲解 */ #include int main() double weight; char exp; double d; /* * scanf里面的数字/字符变量(例如下面的w

2、eight),要用& * %c 是字符型变量的输入输出格式 */ /* * 如果输入之间有其他内容(例如空格,逗号等),scanf的输入格式(即双引号中的内容)要与之匹配 * 例如,本题的输入为“1 y”,之间有空格,scanf的输入格式应该写成%lf %c * 例如“练习2、习题(4-2) 点和正方形的关系”中的输入为“0.5,0.5”,之间有逗号,scanf的输入格式应该写成%lf,%lf */ scanf(%lf %c, &weight, &exp); if(weight = 1) d = 0.8; else d = (weight-1)*0.5 + 0.8; /* * if语句里的条件

3、,如果是判断是不是相等,应该用两个等号 * 字符常量(例如下面的字符y)要用单引号 */ if(exp = y) d = d+2; /* * printf里面的变量(例如下面的d)不要用& * %lf是双精度浮点数的输入输出格式,.1 表示小数点后保留一位(保留两位用.2) */ printf(%.1lfn, d); return 0; /* * 练习2、习题(4-3) 判断一个数能否同时被3和5整除 * 习题讲解 */ #include int main() int i; scanf(%d, &i); /* * 下面i%3中的%表示取余数,余数为0,也就是i能被3整除了 * 如果if语句中有

4、多个条件,要使用逻辑运算符(讲义 C语言编程基础(2)第63页-66页) */ if(i%3 = 0 & i%5 = 0) /* * printf双引号中内容除了像%d这样的变量输出格式,其他内容(像 contains 3 and 5)会全部输出 * 其中,%d所在的位置为变量i要输出的位置。 * 如果要求输出为“变量 15 contains 3 and 5”,那么应该写成printf(变量 %d contains 3 and 5, i) */ printf(%d contains 3 and 5n, i); else printf(%d doesnt contain 3 and 5n, i)

5、; return 0; 1.读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时使用格式“%f”。关于输入共有四行: 第一行是一个字符; 第二行是一个整数; 第三行是一个单精度浮点数; 第四行是一个双精度浮点数。关于输出输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。#includeint main() char a; int b; float c; double d; scanf(%c,&a); scanf(%d,&b); scanf(%f,&c); scanf(%lf,&d); printf(%c,a);

6、 printf( %d,b); printf( %f,c); printf( %lf,d); return 0;2.给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。关于输入只有一个字符。关于输出该字符构成的等腰三角形,底边长5个字符,高3个字符。 例子输入*例子输出* *#includeint main() char a; scanf(%c,&a); printf( %cn,a); printf( %c,a); printf(%c,a); printf(%cn,a); printf(%c,a); printf(%c,a); printf(%c,a); printf(%c,

7、a); printf(%cn,a); return 0;3.输入三个正整数表示三条边的长度,判断这三条边能否构成一个三角形,如果能,则输出“yes”,否则输出“no”。关于输入输入是三个正整型数,分别表示三条边的长度。关于输出yes 或者 no#includeint main() int a,b,c; scanf(%d%d%d,&a,&b,&c); if(a+bc&a+cb&b+ca) printf(yes); else printf(no); return 0;4. 甲流死亡率甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在

8、各省的死亡率。关于输入输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。关于输出输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。#includeint main() int a,b; double c; scanf(%d%d,&a,&b); c=100.0*b/a; printf(%.3lf%,c); return 0;5.鸡兔同笼一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面鸡和兔子的总数a和脚的总数b,问笼子里面有多少只鸡,有多少只兔子关于输入输入仅一行,包括两个整数a和b,我们保证输入的合法性关于输出输出也是一行,输出鸡的个数和兔子

9、的个数,中间用空格隔开#includeint main() int a,b,c,d; scanf(%d%d,&a,&b); c=2*a-b/2; d=b/2-a; printf(%d %d,c,d); return 0;6.奇数和计算正整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35 关于输入两个数 m 和 n,两个数以空格间隔,其中 m n 300 。关于输出奇数之和#includeint main() int a,b,i,m; m=0; scanf(%d%d,&a,&b); f

10、or(i=a;i=b;i+) if(i%2=1) m=m+i; printf(%d,m); return 0;7.与7无关数之和一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数.现求所有小于等于n(n100)的与7无关的正整数的平方和. 关于输入输入为一行,正整数n,(n100)关于输出输出小于等于n的与7无关的正整数的平方和#includeint main()int i,n,m,n1,n2,n3;scanf(%dn,&n);m=0;for(i=1;i=n;i+)n1=i%7;n2=i/10;n3=i%10;if(n1!=0&n2!=7&n3!=7

11、) m=m+i*i;printf(%dn,m);return 0;8.球落地一球从h米的高度自由落下,每次落地后又反跳回原高度的一半,再落下。求它在第n次落地时,共经过多少米,第n次反弹多高。关于输入高度h(双精度浮点数),落地次数n(大于0整数)。关于输出输出它在第n次落地时,共经过的米数s 和第n次反弹的高度h。(精确到小数点后四位)#includeint main() double i,h,y,h2; int n; y=1; scanf(%lf,&h); scanf(%d,&n); for(i=1;i=n;i+) y=y*2; h2=h/y; y=3*h-4*h/y; printf(%.

12、4lf %.4lf,y,h2); return 0;9.人民币面额从键盘输入一指定金额(以元为单位,如345),然后输出支付该金额的各种面额的人民币数量,显示100元,50元,20元,10元,5元,1元各多少张,要求尽量使用大面额的钞票。关于输入一个小于1000的正整数。关于输出输出分行,每行显示一个整数,从上到下分别表示100元,50元,20元,10元,5元,1元人民币的张数#includeint main() int x,a,b,c,d,e,f; scanf(%d,&x); a=x/100; b=(x-100*a)/50; c=(x-100*a-50*b)/20; d=(x-100*a-5

13、0*b-c*20)/10; e=(x-100*a-50*b-c*20-d*10)/5; f=x-100*a-50*b-c*20-d*10-5*e; printf(%dn%dn%dn%dn%dn%dn,a,b,c,d,e,f); return 0;10.最大两个数写一个程序,它读入一系列的整数,最后输出其中最大的两个数。关于输入第一行输入一个大于1且小于100的整数,表示数列的长度。 此后每行输出数列的一项。关于输出输出应有两行,第一行输出最大的数,第二行输出次大的数。#includeint main() int i,n,m,max1,max2; scanf(%dn,&n); for(i=1;i

14、max2) max1=m; else max1=max2; if(i=3) if(m=max1) max2=max1; max1=m; else if(m=max2) max2=m; printf(%dn,max1); printf(%dn,max2); return 0; 11.计算邮资计算邮资: 用户输入:邮件的重量,以及是否加快 计算规则:重量在1克以内(包括1克), 基本费0.8元。超过1克的部分,按照0.5元/克的比例加收超重费。 如果用户选择加快,多收2元。 关于输入重量 double weight 是否加快 char exp(可以取y or n)关于输出邮资(注:只需要输出数字,

15、不需要加单位。例如1.3元,只需要输出1.3) #includeint main()double weight,m;char exp;scanf(%lf,&weight);scanf( %c,&exp);if(weight=1)m=0.8;elsem=0.3+weight*0.5;if(exp=y)m=m+2;printf(%.1lf,m);return 0;12.点是否在正方形内有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,1),(-1,-1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内。关于输入输入坐标x,y关于输出点在正方形内,输出y

16、es;点在正方形外,输出no#includeint main()double x,y;scanf(%lf,%lf,&x,&y);if(x=-1)&(x=-1)&(y=1)printf(yes);elseprintf(no);return 0;13.判断一个数n 能否同时被3和5整除关于输入任意一个整数关于输出是否能同时被3和5整除例子输入1520例子输出15 contains 3 and 520 doesnt contain 3 and 5#includeint main() int x;scanf(%d,&x);if(x%3=0&x%5=0) printf(%d contains 3 and

17、 5,x);else printf(%d doesnt contain 3 and 5,x);return 0;14. 能否被3,5,7整除输入一个整数,判断它能否被3,5,7整除,并输出以下信息: (1)能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格); (2)能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔) (3)能被其中一个数整除(输出这个除数) (4)不能被任何数整除;(输出小写字符n) 关于输入一个整数关于输出实现题目的要求#includeint main()int a3,a5,a7,x;scanf(%d,&x)

18、;a3=x%3;a5=x%5;a7=x%7;if(a3=0)&(a5=0)&(a7=0)printf(3 5 7);if(a3=0)&(a5=0)&(a7!=0)printf(3 5);if(a3=0)&(a5!=0)&(a7=0)printf(3 7);if(a3!=0)&(a5=0)&(a7=0)printf(5 7);if(a3=0)&(a5!=0)&(a7!=0)printf(3);if(a3!=0)&(a5=0)&(a7!=0)printf(5);if(a3!=0)&(a5!=0)&(a7=0)printf(7);if(a3!=0)&(a5!=0)&(a7!=0)printf(n);

19、return 0;15.输出最大数输入三个整数,输出最大的数。关于输入输入为一行,共三个整数。关于输出输出为最大的整数。例子输入10 20 56例子输出56#includeint main()int a,b,c;scanf(%d%d%d,&a,&b,&c);if(ab)&(ac)printf(%d,a);if(ba)&(bc)printf(%d,b);if(cb)&(cb)printf(%d,c);return 0;16.计算器一个最简单的计算器,支持+, -, *, / 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。 关于输入输入只有一行,共有三个参数,其中

20、第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。关于输出输出只有一行,一个整数,为运算结果。然而: 1. 如果出现除数为0的情况,则输出:Divided by zero! 2. 如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!例子输入1 2 +例子输出3#includeint main()int a,b,c;char x;scanf(%d%d,&a,&b);scanf( %c,&x);switch(x)case+: c=a+b; printf(%d,c); break;case-: c=a-b; printf(%d,c); br

21、eak;case*: c=a*b; printf(%d,c); break;case/: if(b=0) printf(Divided by zero!); else c=a/b; printf(%d,c); break; default: printf(Invalid operator!);return 0;17.财务管理阿华今年毕业并找到一份工作。他挣的钱很多,但却总不够花。阿华决定看紧自己的钱包以解决他的财务问题。他要做的第一步是先弄清自己的钱的情况。阿华拿出银行结帐单想算一算他都有多少钱。请写一个程序处理过去十二个月月末帐户余额,帮助阿华计算出平均帐户余额。关于输入输入共12行,每行一

22、个数字,代表相应月份月末帐户余额,每个数字都是正数,并且小数点后精确到分。金额数字前没有货币符号。关于输出输出是一个金额数,即这十二个月的平均帐户余额。请按四舍五入近似到分。金额前带一个美元符号($),金额后紧跟一个回车符号(n)。输出中不应包含空白符号或其他任何符号。例子输入100.00489.1212454.121234.10823.05109.205.271542.25839.1883.991295.011.75例子输出$1581.42#includeint main()float x,y,sum;sum=0;int i;for(i=1;i=12;i+)scanf(%f,&x);sum+

23、=x;y=sum/12;printf($%.2fn,y);return 0;18.满足条件的数编写程序,读入若干个四位数(小于30),求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。关于输入输入为两行,第一行为四位数的个数,第二行为要读入的四位数关于输出输出为一行,即满足条件的四位数的个数#includeint main()int n,m,i,x1,x2,x3,x4,p,j; j=0; scanf(%d/n,&n); for(i=1;i0) j+; printf(%d,j);return 0;19.求最大公约数#in

24、clude int main() int a, b, result; scanf(%d %d, &a, &b); result = a; while(1) if(a%result = 0)&(b%result = 0) break; result-; printf(%dn, result); return 0;20.最小公倍数#include int main() int a, b, result; scanf(%d %d, &a, &b); result = a; while(1) if(result%a = 0)&(result%b = 0) break; result+; printf(

25、%dn, result); return 0; 21.编写一个完整的 C 程序, 求一个正整数中各个数位(个位、十位、百位、 )上数字的和。 输入:一个正整数; 输出:一个整数,即输入的正整数中各个数位上数字的和。 例子输入: 123456 例子输出: 21 int main() int a, result = 0; scanf(“%d”, &a); for(int i = a; i0; i /= 10) result += i%10; printf(“%d”, result); return 0; 22. 输出一个 double 型数的小数部分. #include int main() double a; scanf(%lf, &a); a-= (int)(a) ; printf(%lfn, a); return 0; 23.接受从控制台输入的三个整数,并按照绝对值的大小进行从大 到小输出到控制台#include int main() int a, b, c, t; scanf(%d %d %d,&a,&b,&c); if(a0 ? -a : a) (b0 ? -b : b) t = a; a = b; b = t; if(a0 ?

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1