欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言程序设计习题3.docx

    • 资源ID:1205346       资源大小:51.17KB        全文页数:27页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计习题3.docx

    1、C语言程序设计习题3. 习题3参考解答 1.什么是算法?常用描述算法的工具有哪些? 解:所谓算法,就是计算机解决某一个问题的具体方法和步骤。常用描述算法的工具有流程图、N-S图。 2.试用流程图表示求3个数中的最大数的算法。 解:流程图如图1-1所示。 图1-1 求3个数中的最大数的流程图 3.什么是结构化程序设计?它的主要内容是什么? 解:结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主. . 的详细设计的基本原则。它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用3种基本控制结构构造程序,任何程序都可由顺序、选择、循环这3种基本控制结构

    2、构造 。 4.从键盘输入3个整数,按照从小到大的顺序输出。 解: #include int main() int a,b,c,temp; scanf(%d,%d,%d,&a,&b,&c); if(ab)temp=a;a=b;b=temp; if(ac)temp=a;a=c;c=temp; if(bc)temp=b;b=c;c=temp; printf(%d,%d,%dn,a,b,c); return 0; 程序运行情况如下: 12,8,29 8,12,29 5.输入一个华氏温度F,要求输出摄氏温度C。公式为 5(F?C?32) 9要求要有文字说明,取两位小数。 解: #include int

    3、main() float f,c; 牰湩晴尨请输入一个华氏温度:n); scanf(%f,&f); . . c=5*(f-32)/9; printf(%.2fn,c); return 0; 程序运行情况如下: 请输入一个华氏温度: 36 2.22 6输入一个三位整数,要求输出它的百位数、十位数和个位数。 解: #include int main() int num; /* num表示一个三位整数 */ int a,b,c; /* a,b,c分别表示百位、十位和个位上的数字 */ scanf(%d,&num); a=num/100; b=(num-a*100)/10; c=num-a*100-b

    4、*10; printf(%d,%d,%dn,a,b,c); return 0; 程序运行情况如下: 123 1,2,3 7小红有面值1分的硬币638枚,可以兑换成几元几角剩余几分? 说明:100枚1分的硬币可以兑换成1元,10枚1分的硬币可以兑换成1角。兑换原则是面额从大到小。 解: . . #include int main() int a=638; int yuan; int jiao; int fen,temp; yuan=a/100; temp=a_x0010_0; jiao=temp/10; fen=temp_x0010_; printf( 元的数量:%dn,yuan); print

    5、f(角的数量:%dn,jiao); printf(分的数量:%dn,fen); return 0; 程序运行结果如下:6 元的数量:13 角的数量:18 分的数量:1printfscanf函数输入数据,4设圆柱的半径为2.5,圆柱的高为,求圆柱的体积。用8 函数输出计算结果,输出时要求有文字说明,取两位小数。 解:#include #define PI 3.1415926 int main() float r,h,v; printf(Please input r,h:); scanf(%f,%f,&r,&h); . . v=PI*r*r*h; 牰湩晴尨半径为:%.2f,高为:%.2f 的圆柱体

    6、体积为:%.2fn,r,h,v); return 0; 程序运行情况如下: Please input r,h:2.5,4 半径为:2.50,高为:4.00的圆柱体体积为:78.54 9输入三角形的三边,计算三角形的面积。要求:对输入的3个边长进行判断,如果能构成三角形,则计算三角形的面积;否则,则显示“构不成三角形!”信息。 解: #include #include int main() int a,b,c; float s,area; scanf(%d,%d,%d,&a,&b,&c); if(a+bc & a+cb &b+ca) s=(float)(a+b+c)/2; area=sqrt(s

    7、*(s-a)*(s-b)*(s-c); 牰湩晴尨 面积为:%.2fn,area); else 牰湩晴尨边长分别为%d、%d、%d的三边构不成三角形!n,a,b,c); return 0; 程序运行情况如下: 3,4,65.33 面积为:. . 3,6,12 边长分别为3、6、12的三边构不成三角形! 10设计一个C语言程序,求5个数中的最大数和最小数。 解: #include int main() int a,b,c,d,e,max,min; scanf(%d%d%d%d%d,&a,&b,&c,&d,&e); max=min=a; if(bmax) max=b; if(bmax) max=c;

    8、 if(cmax) max=d; if(dmax) max=e; if(emin) min=e; printf(max:%d,min:%dn,max,min); return 0; 程序运行情况如下: 9 2568 max:9,min:2 11判断输入的字符属于哪一类字符:大写字母、小写字母、数字还是其他字符。 解:#include int main() char ch; . . scanf(%c,&ch); if(ch=48 &ch=65&ch=97&ch=122) 牰湩晴尨该字符为小写字母!); else 牰湩晴尨该字符为其他字符!); return 0; 程序运行情况如下: 2 该字符为

    9、数字! switch语句分别编写程序,实现以下功能:if 12用语句和。输入其他字符时GoodExcellent,Pass,Fail42从键盘输入数字1,3,分别显示 显示Error。 解:*/ 语句编写程序用if/*#include int main() char ch; scanf(%c,&ch); if(ch=1) printf(Excellentn); else if (ch=2) printf(Goodn); else if (ch=3) printf(Passn); . . else if (ch=4) printf(Failn); else printf(Errorn); ret

    10、urn 0; 程序运行情况如下: 1 Excellent /*用switch语句编写程序*/ #include int main() char ch; scanf(%c,&ch); switch(ch) case 1:printf(Excellentn);break; case 2:printf(Goodn);break; case 3:printf(Passn);break; case 4:printf(Failn);break; default:printf(Errorn); 程序运行情况如下: 1 Excellent 13假设国家对个人收入所得税是按这样的标准进行的:起征点是2 000元

    11、,2 0003 000元为5%,3 0005 000元为15%,5 00010 000元为20%,10 000元以上为30%。编程输入. . 工资,计算实际工资所得及税金。 解: #include int main() int gz; float sj; scanf(%d,&gz); if(gz2000) 牰湩晴尨 不需要纳税!n); return ; else if(gz3000) sj=gz*0.05; else if(gz5000) sj=gz*0.15; else if(gz0时,有两个不等的实根;当b-4ac=0时,有两个相等的实根;当22b说明:当b-4ac0时,有两个虚根。 2解

    12、: #include #include int main() int a,b,c; double delt,x1,x2; scanf(%d%d%d,&a,&b,&c); delt=b*b-4*a*c; if (delt=0) 牰湩晴尨 该方程有两个相等的实根!); x1=x2=-(double)b/(2*a); printf(%.2f,%.2fn,x1,x2); else if(delt=0) x1=(-b+sqrt(delt)/(2*a); x2=(-b-sqrt(delt)/(2*a); printf(%.2f,%.2fn,x1,x2); . . else n); 该方程无实根! 牰湩晴尨

    13、 程序运行情况如下: 3 4 5 该方程无实根! 4 6 2-0.50,-1.00 4 4 1-0.50,-0.50 该方程有两个相等的实根! 7整除的数。1100中找出能被5或15从 解:#include int main() int i; for(i=1;i=100;i+) if(i%5=0|i%7=0) printf(,i); return 0; 程序运行结果如下: 49 40 50 45 42 35 30 5 57 10 14 15 20 21 25 28 80 77 75 70 65 63 60 56 55 100 98 95 91 90 85 84 sum=1+11+111+111

    14、1+11111计算16。 解:#include . . int main() int i,t=0,s=0; for(i=1;i=5;i+) t=t*10+1; printf(%dn,t); s=s+t; printf(%d,s); return 0; 程序运行结果如下: 1 11 111 1111 11111 12345 17输入两个正整数m和n,求出它们的最大公约数和最小公倍数。 解: #include int main() int m,n,t,gcd,gcm; int a,b; scanf(%d%d,&m,&n); t=m%n; a=m;b=n; while(t!=0) . . m=n;

    15、n=t; t=m%n; gcd=n; gcm=a*b/gcd; printf(%d和%d 的最大公约数为:%d,最小公倍数为:%dn,a,b,gcd,gcm); return 0; 程序运行情况如下: 5125 :75 最小公倍数为25和15的最大公约数为:5, 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。18 解:#include int main() char ch; int m=0; int k=0; int n=0; int t=0; ch=getchar(); while(ch!=n) if(ch=32) k+; else if(ch=48& ch=65& ch

    16、=97& ch=122) m+; else t+; ch=getchar(); 牰湩晴尨字母的个数为:%dn,m); 牰湩晴尨空格的个数为:%dn,k); 牰湩晴尨数字的个数为:%dn,n); 牰湩晴尨其他字符的个数为:%dn,t); return 0; 程序运行情况如下: 123abcdefghyyyy;11166 #% 字母的个数为:12 空格的个数为:2 数字的个数为:8 其他字符的个数为:11 19从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值。 解: #include int main() float cj,sum=0,aver; int i; for(i=1;i=10;

    17、i+) scanf(%f,&cj); sum=sum+cj; . . aver=sum/10; printf(sum=%.2f,aver=%.2f,sum,aver); return 0; 程序运行情况如下: 68 75 74 56 78 75 81 76 75 85 sum=743.00,aver=74.30 20猴子吃桃问题。猴子第一天摘下了若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第4天早上想要再吃时,只剩下一个桃子了。求第一天猴子共摘了多少桃子。 解: #include int main(

    18、) int n=1; int i; for(i=9;i=1;i-) n=2*(n+1); printf(%dn,n); return 0; 程序运行结果如下: 4 10 22 46 94 . . 190 382 766 1534 21打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方333 +3153=1+5和等于该数本身。例如,153就是一个水仙花数,因为解: #include int main() int i,bw,sw,gw; 牰湩晴尨水仙花数是:); for(i=100;i999;i+) bw=i/100; sw=(i-bw*100)/10; gw=i-bw*10

    19、0-sw*10; if(i=bw*bw*bw+sw*sw*sw+gw*gw*gw) printf(,i); printf(); return 0; 程序运行结果如下:407 371 水仙花数是: 153 370 -6 22用泰勒级数求e的近似值,直到最后一项小于10为止。+1/n! +e=1+1/1!+1/2!+1/3! 解:#include int main() . . int i=1; long f=1; double t=1,e=1; while(t=1e-6) e=e+t; i=i+1; f=f*i; t=(double)1/f; printf(%.3lfn,e); return 0;

    20、 程序运行结果如下: 2.718 23输入一个整数,分解各位数字。例如,输入“1298”,输出“8-9-2-1-”。请编写一个C语言程序解决该问题。 解: #include int main() int num,n1,n2; scanf(%d,&num); n2=num; while(n2!=0) n1=n2_x0010_; n2=n2/10; printf(%d-,n1); . . printf(); return 0; 程序运行情况如下: 81298-9-2-1- 20项之和。,21/13求出这个数列的前,3/25/3,8/5,13/824有一个分数序列2/1 解:#include mai

    21、n() int int i; float f,s=0; float f1=1; float f2=1; for(i=1;i=20;i+) f=f1+f2; f1=f2; f2=f; s=s+f2/f1; %f,s) ; 分数序列之和为: 牰湩晴尨 return 0; 程序运行结果如下:32.660259 分数序列之和为: 打印出以下图案。 25 * * * * . * * * * * * * * * * * * . 解: #include int main() int i,j; for(i=1;i=4;i+) for(j=1;j20-i;j+) printf( ); for(j=1;j=1;i

    22、-) for(j=1;j20-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(); . . return 0; 26百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问用大马、中马、小马各多少匹?请设计解决该问题的C语言程序。 解: #include int main() int dm; for(dm=0;dm=33;dm+) int zm; for(zm=0;zm=50;zm+) int xm; xm=100-dm-zm; if(3*dm+2*zm+xm/2=100) printf(%d,%d,%d

    23、n,dm,zm,xm); return 0; 程序运行结果如下:1,32,67 2,30,68 4,27,69 5,25,70 7,22,71 8,20,72 10,17,73 . . 11,15,74 13,12,75 14,10,76 16,7,77 17,5,78 19,2,79 20,0,80 27计算110十个整数的阶乘和,即计算1!+2!+3!+9!+10! 解: #include int main() int i,j; long fact,sum=0; for(i=1;i=10;i+) fact=1; for(j=1;j=i;j+) fact=fact*j; sum=sum+fact; printf(sum:%ldn,sum); return 0; 程序运行结果如下: sum:4037913 .


    注意事项

    本文(C语言程序设计习题3.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开