好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

谭浩强编著的《C语言程序设计》第二版的习题答案.doc

17页
  • 卖家[上传人]:飞***
  • 文档编号:35687744
  • 上传时间:2018-03-19
  • 文档格式:DOC
  • 文档大小:73.50KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 4-5 原题:打印出下题的结果 main() { ?int a=5,b=7; } 结果: 57 5 7 67.856400,-789.124023 67.856400 ,-789.124023 67.86, -789.12,67.856400,-789.124023,67.856400,-789.124023 6.78564e+01, -7.9e+02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM 4-6 原题:用下面的 scanf 函数输入数据,使 a=3,b=7,x=8.5, 答案:输入格式为:a=3,b=7 8.5 71.82 A a 4-7 原题:用下面的 scanf 函数输入数据使 输入格式为:10 20Aa1.5 -3.78 0.0,67.8 友情提示:10 与 20 之间是 3 个空格,而那个 0.0 是随便一个浮点数即可 4-8 原题:设圆半径 r=1.5,圆柱高 h=3,求 #define PI 3.1415926 main() { int h; float r; float cubage1,cubage2,per,area,facearea; printf(“please input the circle's radii\n“); scanf(“%f“, printf(“please input the cylinder's height\n“); scanf(“%d“, per=2*PI*r; area=PI*r*r; facearea=4*PI*r*r; cubage1=4/3*PI*r*r*r; cubage2=area*h; printf(“\n\n\tThe circle's perimeter is %.2f\n“,per); printf(“\tThe circle's area is %.2f\n“,area); printf(“\tThe sphere's facearea is %.2f\n“,facearea); printf(“\tThe sphere's cubage is %.2f\n“,cubage1); printf(“\tThe cylinder's cubage is %.2f\n“,cubage2); } 4-9 原题:输入一个华氏温度,要求输出摄氏温度。

      公式为 c=(F-32)*5/9. main() { float temper; float c; printf(“Please input the temperature of Fahrenheit\n“); scanf(“%f“, c=(temper-32)*5/9;printf(“The Celsius temperature is %.2f“,c); } 4-10 原题:编程序,用 getchar()函数读入两个字符给 c1,c2, main() { char c1,c2; c1=getchar(); c2=getchar(); printf(“\n“); putchar(c1); putchar(c2); printf(“c1=%c,c2=%c“,c1,c2); } (1)都可;(2)用 printf()函数;(3)不可以,必须是整形变量的值在 256 以内,否则则超过 了 ASCII 的值 5-4 原题:有三个整数 a,b,c,由键盘输入,输出其中最大得数:main() { int a,b,c,d; printf(“please input 3 num, the format is 1 2 3\n“); scanf(“%d%d%d“, d=max(a,max(b,c)); printf(“the max number is %d\n “,d); } int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } 5-5 原题: 以下面的方程为基础,写一程序,输入 X 值 输出 Y 值,方程如下。

      main() { int x,y,a; printf(“please input the value of x “);/*输入 X 的值*/ scanf(“%d“, printf(“the value of y is: “);/*分条件打印出 y 值*/ if(x=1 goto loop; } else if(num>=90) num=65; else if(num>=80) num=66; else if(num>=70) num=67; else if(num>=60) num=68; else num=69; printf(“the level is :“); switch(num) { case 65: printf(“%c“,num);break; case 66: printf(“%c“,num);break; case 67: printf(“%c“,num);break; case 68: printf(“%c“,num);break; case 69: printf(“%c“,num);break; } } 5-7 原题: 给一个不多于 5 位的正整数,要求:(1)求出它是几位数,(2)。

      main() { long num; int k; loop: printf(“please input a num form 0-99999:\n“); scanf(“%ld“, if(num99999) {printf(“the number is error “); goto loop;/*利用 GOTO 语句来检查输入的数字是否位 5 位*/ } printf(“ the answer one is: the long of the number is: “); if(num>=10000) { k=5; printf(“%d“,k); } else if(num>=1000) { k=4; printf(“%d“,k); } else if(num>=100){ k=3; printf(“%d“,k); } else if(num>=10) { k=2; printf(“%d“,k); } else { k=1; printf(“%d“,k); } printf(“\n the answer two is :“); switch(k) { case 1: printf(“%5ld“,num);break; case 2: printf(“%5ld %5ld“,num/10,num%10);break; case 3: printf(“%5ld %5ld %5ld“,num/100,num%100/10,num%10);break; case 4: printf(“%5ld %5ld %5ld %5ld“,num/1000,num%1000/100,num%100/10,num%10);break; case 5: printf(“%5ld %5ld %5ld %5ld %5ld“,num/10000,num%10000/1000,num%1000/100,num%100/10,num%10);break;} printf(“\nthe answer three is: “); switch(k) { case 1: printf(“%ld“,num);break; case 2: printf(“%ld%ld“,num%10,num/10);break; case 3: printf(“%ld%ld%ld“,num%10,num%100/10,num/100);break; case 4: printf(“%ld%ld%ld%ld“,num%10,num%100/10,num%1000/100,num/1000);break; case 5: printf(“%ld%ld%ld%ld%ld“,num%10,num%100/10,num%1000/100,num%10000/1000,num/1000 0);break;} } 5-8 原题:企业发放的奖金根据利润提成。

      利润低于或等于 10 万的,奖金 main() { long i; int bonus,bonus1,bonus2,bonus4,bonus6,bonus10; printf(“\n\nPlease input the bonus of this month:\n“); scanf(“%ld“, clrscr(); printf(“\n\n This month bonus is “); bonus1=100000*0.1; bonus2=bonus1+100000*0.075; bonus4=bonus2+200000*0.05; bonus6=bonus4+200000*0.03; bonus10=bonus6+400000*0.015; if(iy)?y:x; return(z);} max(int x, int y) { int z; z=(x>y)?x:y; return(z);} 5-10 原题 : 有 4 个圆塔,圆心分 #include /*数学函数头文件,用来调用 fabs()和 sqrt()函数*/ main() { int h; float w,x,y,j,i,k; printf(“please input the zuobiao,for example:1,2\n“); scanf(“%f,%f“, if(x>=3||x=3||yn,如果 m 能被 n 整除,那么 n 就为他们的最小公约数,如果不 能整除,那么余数为 c,然后令 m=n,n=c,继续上面的步骤,直到 m 能 被 n 整除为止,那时的 n 就为他们的最小公约数,而最小公倍数则为 m 和 n 的乘机在除以他们的最小公约数的值 main() { int m,n,c,h,mm,nn; printf(“please input two numbers:\n “); scanf(“%d %d“, mm=m;nn=n; if(m>n); else h=m; m=n; n=h; c=m%n; if(c==0) printf(“the gong yue shu is %d:“,n); else while(c!=0) { m=n; n=c; c=m%n; printf(“the gong yue shu is %d:“,n);} printf(“the gong bei shu is %d:“,mm*nn/n);} 6-2 原题 : 输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数 main() { char a='a'; int i,ch=0,num=0,space=0,other=0; printf(“please input a line string: \n“); for(i=0;a!='\n';i++) {a=getchar(); if(a==' ') space++; else if(isalpha(a)) ch++; else if(isdigit(a)) num++; else other++;} printf(“\nthe char have %d“,ch); printf(“\nthe number have %d“,num); printf(“\nthe space have %d“,space); printf(“\nthe other have %d“,other-1); } 6-3 原题 : 求 Sn=a+aa+aaa+……+aa……a 之值,n 由键盘输入 #include main() { long int a=1,s=0,b=0; int n,j;printf(“plea。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.