欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言编程答案(104页).doc

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

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

    c语言编程答案(104页).doc

    -c语言编程答案-第 103 页c语言编程答案 1-1开始你的第一个C程序成绩: 10 / 折扣: 0.8在屏幕上输出问候语,格式如下:How are you!就是书上第27页的程序,你用任何一种开发工具进行开发。注意格式一定要与给定的格式完全一致,因为是计算机自动比对判断程序运行的结果,它可是个死脑筋,稍有不同就判定是错误的。友情提示:从现在开始,你要尽快学习C语言程序的开发工具,TC、VC都可以。俗话说磨刀不费砍柴工,在这个程序中,你要了解开发环境的基本使用方法:源程序的编辑、保存,程序编译、链接、运行的方法等。1.main() 2. 3. printf("=n"); 4. printf("How are you!n"); 5. printf("=n"); 6. 1-2照猫画猫:计算圆柱的侧面积及体积成绩: 10 / 折扣: 0.8这是教材P39页的例3-1,体会一下C语言的输入输出函数的用法:输入圆的半径 r ,计算圆的周长和面积 。其中 =3.1416 输入 : 圆的半径 r 输出 :圆的周长c ,面积 是s (均保留 2 位小数)1.#define PI 3.1416 2.main() 3. 4. float r,c,s; 5. scanf("%f",&r); 6. c=2*PI*r; 7. s=PI*r*r; 8. printf("c=%6.2f,s=%6.2fn",c,s); 9. 10. 1-3磨磨你的砍柴刀:判断三角形的形状成绩: 10 / 折扣: 0.8输入三角型的三条边,判断三角形的形状。假设输入的三边边长均 >0 。输入: 三角型的 3 条边的长度( int 型)。 输出: 三角形形状 等边三角形: equilateral triangle. 等腰三角形: isoceles triangle. 不构成三角形: non-triangle. 一般三角形: triangle. 友情提示:这个题有点复杂吧,因为用到了分支语句,你参考一下教材P98的程序。要把a、b、c三条边长度的可能情况都想到。如果程序运行出现了问题,你尝试用开发工具的单步执行调试工具,检查问题出在哪一句。什么叫单步执行?老师在课上告诉你们了吗?没讲过?那就读读网络教室的那些文章吧!1.main() 2. 3. int a,b,c; 4. scanf("%d%d%d",&a,&b,&c); 5. if(a+b>c&b+c>a&a+c>b) 6. if(a=b) 7. if(b=c) printf("equilateral triangle.n"); 8. else printf("isoceles triangle.n"); 9. else 10. if(b=c) printf("isoceles triangle.n"); 11. else printf("triangle.n"); 12. else printf("non-triangle.n"); 13. 2-1. 整型数的表示范围成绩: 10 / 折扣: 0.8编写一个循环程序,输入 N 值,输出 N 的阶乘。关于循环程序怎么编写,可以参考教材第六章P123的内容。注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出怎么是负数了?自己想明白吧1.main() 2. 3. int i,n;long s; 4. s=1; 5. i=1; 6. scanf("%d",&n); 7. if(n<13) 8. do s*=i; 9. i+; 10. while(i<=n); 11. printf("%ldn",s); 12. 13. else printf("N is too big!n"); 14. 15. 16. 2-2. 求正弦函数值成绩: 10 / 折扣: 0.8已知求正弦 sin(x) 的近似值的多项式公式为: sin(x) = x - x3/3! + x5/5! - x7/7!+ + (-1)n x2n+1/(2n+1)! + 编写程序,要求输入 x (单位是弧度)和,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的。 此题当然要用到循环语句,到第六章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的。求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在math.h里。友情提示:给定的误差值越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环。如果出现死循环的情况,可以用<Ctrl>+<Break>键退出程序。1.#include<math.h> 2.main() 3. double s,x,y,r,m,z,j; 4. int i,n; 5. scanf("%lf%lf",&x,&r); 6. n=i=s=1;y=x;m=x; 7. do 8. m=-m*x*x; 9. do 10. s=s*i;i+; 11. while(i<=2*n+1); 12. n=n+1;z=m/s;y=y+z;j=fabs(z); 13. while(j>r); 14. printf("%fn",y); 15. 2-3. 判断输入的字符的类型成绩: 10 / 折扣: 0.8我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。编写程序,从键盘输入一个字符,输出字符所属的类型:大写字母时输出capital letters, 小写字母时输出small letters,数字是输出figures,控制字符时输出control characters,其他字符时输出 others。1.#include<stdio.h> 2.main() 3. 4. char x; 5. x=getchar(); 6. if(x>='A'&&x<='Z') printf("capital lettersn"); 7. else if(x>='a'&&x<='z') printf("small lettersn"); 8. else if(x>='0'&&x<='9') printf("figuresn"); 9. else if(x>=0&&x<=32) printf("control charactersn"); 10. else printf("othersn"); 11. 12.3-1. 字符加密输出13.成绩: 10 / 折扣: 0.814.从键盘上输入一个字符,进行加密以后再输出在屏幕上。加密规律是:输入小写英文字母时,输入a 输出Z、输入b输出Y、输入c输出X、.、输入z输出A。输入大写英文字母时,将该字母ASCII码值再加上该值的1/2后输出所对应的字符,例如数字A的ASCII码值是65,加上其值的1/2后是98(小数四舍五入),则输出字符b。输入数字时,将该数字原ASCII码值再加上该值十进制的十位上 的数后输出,例如数字9的ASCII码值是57,加上十位上的数5后是62,则输出字符>。输入其他字符时原样输出。15.16.#include<stdio.h> 17.main() 18. 19. char x;int a,b; 20. x=getchar();a=x/10;b=x%2; 21. if(x>='a'&&x<='z') x=187-x; putchar(x); 22. else if (x>='0'&&x<='9') x=x+a; putchar(x); 23. else if(x>='A'&&x<='Z') 24. if(b=1) x=x+(x/2+1);putchar(x); 25. else x=x+x/2;putchar(x); 26. 27. else putchar(x); 28. printf("n"); 29. 3-2. 求和成绩: 10 / 折扣: 0.8输入整数 m 和正整数 n ,按下列公式计算 s : s=m-(m+1)+m+2-(m+3)+ +(-1)n(m+n) 。输入: m 和 n 输出: s 1.main() 2. 3. int k,m,n,s,i; 4. scanf("%d%d",&m,&n); 5. s=0;i=0;k=1; 6. while(i<=n) 7. s=s+k*m; 8. m+; 9. i+; 10. k=-k; 11. 12. printf("s=%dn",s); 13. 3-3. 计算时钟的夹角成绩: 10 / 折扣: 0.8背景:钟面上的时针和分针之间的夹角总是在 0 度 359 度之间。举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度。本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。输入: 每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 0, 59 上 ) 。 输出: 对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。输入:12 30输出:At 12:30 the angle is 165.0 degrees.友情提示:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。 1.#include<math.h> 2.main() 3. 4. int m,n; float s,x; 5. scanf("%d%d",&m,&n); 6. x=fabs(30*m-5.5*n); 7. if(x< 180) 8. s=x; 9. else s=360-x; 10. if(n<=9) 11. printf("At %d:0%d the angle is %.1f degrees.n",m,n,s); 12. else 13. printf("At %d:%d the angle is %.1f degrees.n",m,n,s); 14. 3-4. 求亲密数成绩: 10 / 折扣: 0.8若正整数的全部约数(包括,不包括本身)之和等于 ; 且整数的全部约数(包括,不包括本身)之和等于,则 A 、 B 为亲密数。编程,输入正整数, 输出亲密数 A , B(A<=B) ,若不存在亲密数,则输出 No output 。例如:220和284就是一对亲密数。220的约数是:1、2、4、5、10、11、20、22、44、55、110,约数之和是284;284的约数是:1、2、4、71、142,约数之和是220。1.main() 2. int a,b=0,i,c=0; 3. scanf("%d",&a); 4. for(i=1;i<=a/2;i+) 5. if(a%i!=0) continue ; 6. b=b+i; 7. 8. if(a<=b) 9. for(i=1;i<=b/2;i+) 10. if(b%i!=0) continue ; 11. c=c+i; 12. 13. 14. if(a=c) printf("%d-%dn",a,b); 15. else printf("No outputn"); 16. return 0; 17. 18. 3-5. 输出一行星号成绩: 5 / 折扣: 0.8在程序中只允许在一个语句中使用printf函数,在printf函数中只允许输出一个星号,编写程序在一行中输出 N 个星号。输入: N值输出: 一行中N个星号。1.main() 2. 3. int i,n; 4. i=1; 5. scanf("%d",&n); 6. while(i<=n) 7. printf("*"); 8. i+; 9. 10. printf("n"); 11. 4-1. 打印实心正方形成绩: 10 / 折扣: 0.8上次你已经打印了一行*号,这次在屏幕上输出一个由星号组成的 n 行 n 列的正方形。程序输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的正方形:输入: 高 n 输出: n 行 n 列的正方形 1.main() 2. 3. int n,j,i; 4. scanf("%d",&n); 5. for(j=1;j<=n;j+) 6. for(i=1;i<=n;i+) 7. printf("*"); 8. printf("n"); 9. 10. 4-2. 学习成绩归类成绩: 10 / 折扣: 0.8学生的学习成绩是百分制,成绩的归类标准是:90<= 成绩 <=100 为 "super";80<= 成绩 <90 为 "good";70<= 成绩 <80 为 "ok";60<= 成绩 <70 为 "pass"成绩 <60 为 "no good"。编写程序。输入若干个成绩,输出成绩和相应的等级。输入成绩为负时,程序结束,输入成绩大于100分,显示“input error”。1.main() 2. 3. int n=0; 4. while(n>=0) 5. scanf("%d",&n); 6. if(n>100) printf("%d "input error"n",n); 7. else if(90<=n&&n<=100) printf("%d "super"n",n); 8. else if(80<=n&&n<90) printf("%d "good"n",n); 9. else if(70<=n&&n<80) printf("%d "ok"n",n); 10. else if(60<=n&&n<70) printf("%d "pass"n",n); 11. else if(0<=n&&n<60) printf("%d "no good"n",n); 12. 13. 14. return 0; 15. 4-3. 输出星期几的英文表示成绩: 10 / 折扣: 0.8输入用数字(1-7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词"Error"。 1.main() 23. int x; 4. scanf("%d",&x); 5. switch(x) 6. case 7:printf("Sundayn");break; 7. case 6:printf("Saturdayn");break; 8. case 5:printf("Fridayn");break; 9. case 4:printf("Thursdayn");break; 10. case 3:printf("Wednesdayn");break; 11. case 2:printf("Tursdayn");break; 12. case 1:printf("Mondayn");break; 13. default:printf("Errorn"); 14. 15. 4-5. 黑色星期五成绩: 10 / 折扣: 0.8在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13日又恰逢星期五就叫 “ 黑色星期五 ” 。输入某年年号和该年的元旦是星期几( 1-7),输出该年所有的 “ 黑色星期五 ” 的日期(年 /月/日) 。输入: 4位年号和该年元旦是星期几 输出: 所有的 “黑色星期五”的日期(年/月/日) 1.main() 2. int m,n; 3. scanf("%d%d",&m,&n); 4. if(m%4=0) 5. switch(n) 6. case 7:printf("%d/1/13n%d/4/13n%d/7/13n",m,m,m);break; 7. case 6:printf("%d/10/13",m);break; 8. case 5:printf("%d/5/13",m);break; 9. case 4:printf("%d/2/13n%d/8/13n",m);break; 10. case 3:printf("%d/3/13n%d/11/13n",m);break; 11. case 2:printf("%d/6/13n",m);break; 12. case 1:printf("%d/9/13n%d/12/13n",m);break; 13. 14. else 15. switch(n) 16. case 7:printf("%d/1/13n%d/10/13n",m,m);break; 17. case 6:printf("%d/5/13n",m);break; 18. case 5:printf("%d/8/13n",m);break; 19. case 4:printf("%d/2/13n%d/3/13n%d/11/13n",m,m,m);break; 20. case 3:printf("%d/6/13n",m);break; 21. case 2:printf("%d/9/13n%d/12/13n",m);break; 22. case 1:printf("%d/4/13n%/7/13n",m,m);break; 23. 24. 5-1. 打印空心菱形成绩: 10 / 折扣: 0.8输入图形的高, 输出如下例(n=5时)所示的图形。输入: 高 n 输出: 空心菱形 友情提示:第一步,先输出由*号组成的n行的实心正三角形和n-1行的实心倒三角形;第二步,通过判断原每行的第一个和最后一个输出*号,其余位置输出空格。1.main() 2. int i,j,n,l; 3. scanf("%d",&n); 4. for(j=1;j<=n;j+) 5. for(i=1;i<=n+j-1;i+) 6. l=0;if(i=n-j+1|i=n+j-1) printf("*");l+; 7. else printf(" "); 8. if(j=1&&l=1) break; 9. if(l=2) break; 10. printf("n"); 11. for(j=n+1;j<=2*n-1;j+) 12. for(i=1;i<=3* n-j-1;i+) 13. l=0;if(i=j-n+1|i=3*n-j-1) printf("*");l+; 14. else printf(" "); 15. if(j=2*n-1&&l=1) break; 16. if(l=2) break; 17. printf("n"); 18. 19. 5-2. 10进制数转换为16位二进制数成绩: 10 / 折扣: 0.8将任一正整数(<65536)转换为 16 位二进制形式。输入: 正整数 输出: 正整数的 16 位二进制数 友情提示:定义一个整型数组,数组有16个元素,保存变换后的二进制数。1.main() 2. int a16,n,i,j; 3. scanf("%d",&n); 4. j=n; 5. for(i=15;i>=0;i-) 6. ai=j%2;j=j/2; 7. for(i=0;i<16;i+) 8. printf("%d",ai); 9. printf("n"); 10. 5-3. 求各位数字之和等于5且能被5整除的整数成绩: 10 / 折扣: 0.8输入正整数 M 和 N(M,N 均小于 10000) ,输出 M 和 N 之间(区间包括M、N)所有满足下列条件的所有整数:整数能被 5 整除且各位数字之和等于 5 。若没有满足条件的整数 , 则输出“No outputn”。输入: 整数区间 m,n 输出: 各位数字之和等于 5 且能被 5 整除的所有整数 1.main() 2. int a4,x,j=0,m,n; 3. scanf("%d%d",&m,&n); 4. for(x=m;x<=n;x+) 5. if(x%5=0) 6. a0=x/1000;a1=(x-1000*a0)/100; 7. a2=(x-1000*a0-100*a1)/10; 8. a3=x-1000*a0-100*a1-10*a2; 9. if(a0+a1+a2+a3=5) printf("%dn",x);j=1; 10. 11. 12. if(j=0) printf("No outputn"); 13. 5-4. 马戏团观众人数成绩: 10 / 折扣: 0.8一个马戏团表演, n 个座位全满,全部门票收入是 120 元,现在知道,男人每人 5 元,女人每人 2 元,小孩每人 1 角。编程,输入总人数 n ,输出满足要求的男人、女人和小孩人数的全部方案。若 n 人无法满足条件,则输出“No outputn”。输入: 人数 n 输出: 男人、女人和小孩人数 1.main() 2.int x,y,z,n,l=0,k; 3. scanf("%d",&n); 4. for(x=0;x<=24;x+) 5. for(y=0;y<=60;y+) 6. k=1200-49*x-19*y;if(n=k&&n-x-y>=0) l=1;printf("%d,%d,%dn",x,y,n-x-y); 7. if(l=0) printf("No outputn"); 8. 9. 10. 5-5. 求各位数字组成的最大数成绩: 10 / 折扣: 0.8任意输入一个自然数(不大于99999999),输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。输入: 自然数 n 输出: 各位数字组成的最大数 1.#include<stdio.h> 2.main() 3. int i,j,n,p,m,a8;char x; 4. for(i=0;i<=8;i+) 5. x=getchar(); 6. if(x='n') n=i;break; 7. else ai=x-48; 8. for(i=0;i<n-1;i+) 9. p=i; 10. for(j=i+1;j<n;j+) 11. if(ap<aj) p=j; 12. if(p!=i) m=ap;ap=ai;ai=m;13. 14. for(i=0;i<n;i+) printf("%d",ai); 15. printf("n"); 16. 17. 18. 6-1. 打印数字菱形成绩: 10 / 折扣: 0.8输入 n 值,输出如下例( n=4 )所示的数字菱形。 4 434 43234 4321234 43234 434 4 输入: n 输出: 数字菱形 友情提示:同学们总结一下打印星号组成的实心图形程序的编程思路:第一步,打印星号组成的正方形;第二步,改变每行星号的个数,打印每行星号数量不一样的图形;如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格。现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("*");改为printf("%2d",x);当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。x是多少呢?则要寻找其规律,就是该输出位置与所在行列的关系。注意给出的测试用例,输出的数字是左对齐啊。1.main() 2.int i,j,n; 3. scanf("%d",&n); 4. for(j=1;j<=n;j+) 5. for(i=1;i+) if(i=2*(n-j+1)-1) printf("%-2d",n);break; 6. else printf(" "); 7. for(i=n-j+2;i<=n;i+) printf(&

    注意事项

    本文(c语言编程答案(104页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开