C语言程序设计(何钦铭~)课后习题作业.doc
|第一章习题1、对 C 语言来说,下列标示符中哪些是合法的,哪些是不合法的?Total, _debug, LargeTall, Counter1, begin_答:合法的:_debug、Counter1、begin_ 。不合法的:Total、LargeTall。2、改写 1.4 节中的流程图 1.2,求 1100 中能被 6 整除的所有整数的和。Sum=0,i=1Iint main(void)|int i,sum=0;for(i=1;i1) ,请设计一个流程图判别 n 是否为一个素数(只能被 1 和自己整除的整数) ,并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。开始结束输入 ni=2r=n/i 的余数r=0?i=i+1i>=(n-1)输出 n“是素数”输出 n“不是素数 ”假真真假|开始结束输入 ni=2r=n/i 的余数r=0?i=i+1i>=(n-1)输出 n“是素数”输出 n“不是素数 ”假真真假|第二章作业1编写程序,输入两个整数 num 和 num2,计算并输出她们的和、差、积、商。答:程序:#includevoid main()int num1,num2,y1,y2,y3,y5;double y4;printf(“请输入两个数:num1,num2n“);scanf(“%d%d“,y1=num1+num2;y2=num1-num2;y3=num1*num2;y4=num1*1.0/num2;y5=num1%num2;printf(“num1,num2 和 y1=%dnnum1,num2 差 y2=%dnnum1,num2 积y3=%dnnum1,num2 商 y4=%lfnnum1,num2 余 y5=%dn“,y1,y2,y3,y4,y5);2为了倡导居民节约用电,某省电力公司执行“阶梯电价” ,安装一户一表的居民用户电价分为两个“阶梯”:月用电量 50 千瓦时以内的,电价为 0.53 元/千瓦时;超出 50 千瓦时的用电量,电价上调 0.05 元/千瓦时。编写程序,输入用户的月用电量(千瓦时) ,计算并输出该用户应支付的电费(元) 。答:程序:#includevoid main()double x,y;printf(“请输入月用电量:xn“);scanf(“%lf“,if(xvoid main()double x,power;int i,n;printf(“请输入:x,nn“);scanf(“%lf%d“,power=1.0;for(i=1;ivoid main()int i,m,n;double sum;sum=0;printf(“input:m,nn“);scanf(“%d%d“,for(i=m;ivoid main()int i,n;double sum,item,flag;flag=1;sum=0;printf(“input:nn“);scanf(“%d“,for(i=1;i#includevoid main()int lower,upper,month,year,loan;double money,rate;lower=5;upper=30;printf(“请输入贷款本金:loann“);scanf(“%d“,printf(“请输入月利率:raten“);scanf(“%lf“,printf(“还款年限t 月还款额n“);for(year=lower;year#includevoid main()int i,n;double sum,item;sum=0;printf(“input:nn“);scanf(“%d“,for(i=0;idouble fact(int n);void main()int i,n;double sum;sum=0;printf(“input:nn“);scanf(“%d“,for(i=0;i#includevoid main()int a,b,c;double s,area,perimeter;printf(“请输入三角形三条边:a,b,cn“);scanf(“%d%d%d“,if(a+b>cs=(a+b+c)/2.0;|area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“三角形的周长 perimeter=%.2lfn 三角形的面积 area=%.2lfn“,perimeter,area);2、#include#includevoid main()double salary,tax,rate;printf(“请输入职工的月薪:salaryn“);scanf(“%lf“,if(salaryvoid main()double m,n,y;printf(“请输入行驶里程(公里) :mn 等待时间(分钟) :nn“);scanf(“%lf%lf“,if(m+n/5.0)void main()int i,n,A,B,C,D,E;double score,total;printf(“请输入一个数 n:n“);scanf(“%d“,total=0;A=0;B=0;C=0;D=0;E=0;for(i=1;i=90)A+;else if(score>=80)B+;else if(score>=70)C+;else if(score>=60)D+;else E+;printf(“平均成绩=%lfn“,total/n);printf(“等级成绩个数:nA=%dnB=%dnC=%dnD=%dnE=%dn“,A,B,C,D,E);5、#includevoid main()int year;printf(“21 世纪所有的闰年:n“);for(year=2000;year=0.00001)s=pow(x,i)*1.0/fact(i)+s;i+;printf(“s=%.2lfn“,s);double fact(int n)int i;double result;result=1;for(i=1;i<=n;i+)result=result*i;return result;3、#include“stdio.h“int main(void)int x,a,count,sum;printf(“请输入一个整数 x:n“);scanf(“%d“,sum=0;count=0;if(x<0) x=-x;doa=x%10;sum=sum+a;x=x/10;count+;while(x!=0);printf(“位数=%dn“,count);printf(“各个位数之和为:%dn“,sum);return 0;5、#include“stdio.h“void main()