1、C语言程序的设计何钦铭课后习的题目作业第一章习题1、对C语言来说,下列标示符中哪些是合法的,哪些是不合法的? Total, _debug, LargeTall, Counter1, begin_ 答:合法的:_debug、Counter1、begin_。 不合法的:Total、LargeTall。2、改写1.4节中的流程图1.2,求1100中能被6整除的所有整数的和。3、改写1.4节中的程序,求1100中能被6整除的所有整数的和,并在编程环境中验证该程序的运行结果。 答:程序为:#includeint main(void) int i,sum=0; for(i=1;i1),请设计一个流程图判别
2、n是否为一个素数(只能被1和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。第二章作业1编写程序,输入两个整数num和num2,计算并输出她们的和、差、积、商。答:程序:#include void main() int num1,num2,y1,y2,y3,y5; double y4; printf(请输入两个数:num1,num2n); scanf(%d%d,&num1,&num2); y1=num1+num2; y2=num1-num2; y3=num1*num2; y4=num1*1.0/num2; y5=num1%num2; printf(num1,num2
3、和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元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。答:程序:#include void main() double x,y; printf(请输入月用电量:xn); scanf(%lf,&x)
4、; if(x=50) y=0.53*x; printf(电费y=%lfn,y); else y=0.58*x; printf(应支付电费y=%lfn,y); 3编写程序,输入实数x和正整数n,计算xn,不允许调用pow()函数求幂。答:程序:#include void main() double x,power; int i,n; printf(请输入:x,nn); scanf(%lf%d,&x,&n); power=1.0; for(i=1;i=n;i+) power=power*x; printf(power(x,n)=%lfn,power);4编写程序,输入两个正整数m和n,求(i2+1
5、/i)(i从m到n。)答:程序:#includevoid main() int i,m,n; double sum; sum=0; printf(input:m,nn); scanf(%d%d,&m,&n); for(i=m;i=n;i+) sum=sum+(i*i+1.0/i); printf(sum=%lfn,sum); 5编写程序,输入一个正整数n,计算1-2/3+3/5-4/7+5/9-6/11+的前n项之和。答:程序:#includevoid main() int i,n; double sum,item,flag; flag=1;sum=0; printf(input:nn); s
6、canf(%d,&n); for(i=1;i=n;i+) item=(flag*i)/(2*i-1); flag=-flag; sum=sum+item; printf(sum=%lfn,sum);6某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款(money)取决于还款月数(month)。客户打算在530年的范围内选择还清贷款的年限,想得到一张“还款年限月还款额表”以供参考。编写程序,输入贷款本金loan和月利率rate,输出“还款年限月还款额表”,还款年限的范围是530年,输出时分别精确到年和元。Mo
7、ney=loan*rate(1+rate)month/(1+rate)month-1答:程序:#include#includevoid main() int lower,upper,month,year,loan; double money,rate; lower=5;upper=30; printf(请输入贷款本金:loann); scanf(%d,&loan); printf(请输入月利率:raten); scanf(%lf,&rate); printf(还款年限t月还款额n); for(year=lower;year=upper;year+) month=year*12; money=(
8、loan*rate*pow(1+rate),month)/(pow(1+rate),month)-1); printf(%dtt%lfn,year,money);7编写程序,输入一个正整数n,求2i(i从1到n),可调用pow()函数求幂。答:程序:#include#includevoid main() int i,n; double sum,item; sum=0; printf(input:nn); scanf(%d,&n); for(i=0;i=n;i+) item=pow(2,i); sum=sum+item; printf(sum=%lfn,sum);8编写程序,输入一个正整数n,求
9、e=i!(i从0到n)。要求定义和调用函数fact(n)计算n!,函数类型是double.答:程序:#includedouble fact(int n);void main() int i,n; double sum; sum=0; printf(input:nn); scanf(%d,&n); for(i=0;i=n;i+) sum=sum+fact(i); printf(sun=%lfn,sum);double fact(int n) int i; double product; product=1.0; for(i=1;i=n;i+) product=product*i; return
10、product;第三章作业1.#include#includevoid main() int a,b,c; double s,area,perimeter; printf(请输入三角形三条边:a,b,cn); scanf(%d%d%d,&a,&b,&c); if(a+bc&a+cb&b+ca) perimeter=a+b+c; s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形的周长perimeter=%.2lfn三角形的面积area=%.2lfn,perimeter,area); 2、#include#includevoid ma
11、in() double salary,tax,rate; printf(请输入职工的月薪:salaryn); scanf(%lf,&salary); if(salary=850) rate=0; else if(salary=1350) rate=5; else if(salary=2850) rate=10; else if(salary=5850) rate=15; else rate=20; tax=rate*(salary-850)/100; printf(职工应缴个人所得税tax=%.2lfn,tax);3、#includevoid main() double m,n,y; prin
12、tf(请输入行驶里程(公里):mn等待时间(分钟):nn); scanf(%lf%lf,&m,&n); if(m+n/5.0)=3) y=10; else if(m+n/5.0)=10) y=2*(m+n/5.0); else y=2*10+3*(m+n/5.0-10); printf(乘客应付车费y=%dn,(int)(y*10+0.5)/10.0);4、#includevoid main() int i,n,A,B,C,D,E; double score,total; printf(请输入一个数n:n); scanf(%d,&n); total=0;A=0;B=0;C=0;D=0;E=0;
13、 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,
14、s);double fact(int n) int i; double result; result=1; for(i=1;i=n;i+) result=result*i; return result;3、#includestdio.hint main(void) int x,a,count,sum; printf(请输入一个整数x:n); scanf(%d,&x); sum=0;count=0; if(x0) x=-x; do a=x%10; sum=sum+a; x=x/10; count+; while(x!=0); printf(位数=%dn,count); printf(各个位数之和
15、为:%dn,sum); return 0;5、#includestdio.hvoid main() int a,n,i=1,s=0,t=0; printf(请输入两个正整数a,n=:n); scanf(%d%d,&a,&n); while(i=n) t=t+a; s=s+t; a=a*10; +i; printf(a+aa+aaa+aaa=%dn,s);7、#includestdio.hvoid main() int i,j,k,l,n; printf(1-10000之间的水仙花数有:n); for(n=10;n0;j=j/10) n=k/j; printf(%d,n%10); if(j!=1
16、) printf(,); 11、#includestdio.hvoid main() int p,r,n,m,temp; printf(请输入两个正整数:n); scanf(%d%d,&n,&m); if(nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf(最大公约数为:%dn,n); printf(最小公倍数为:%dn,p/n);13、#includestdio.hvoid main() int i,j; for(i=0;i=3;i+) for(j=0;j=2-i;j+) printf( ); for(j=0
17、;j=2*i;j+) printf(*); printf(n); for(i=0;i=2;i+) for(j=0;j=i;j+) printf( ); for(j=0;j=4-2*i;j+) printf(*); printf(n); 第五章1.#include#include long fac(int n,int a) long sum; if(n=1) sum=a; else sum=(long)(pow(10,n-1)*a)+fac(n-1,a); return(sum);main() int a,n,i; long temp,sum=0; printf(请输入一个数a,nn); sca
18、nf(%d%d,&a,&n); for(i=1;i=n;i+) temp=fac(i,a); sum+=temp; printf(它们的和是=%ld,sum); return 0; 2.#includeint countdight(int number,int dight);int main(void) int number; printf(输入一个数:); scanf(%d,&number); countdight(number,2); return 0;countdight(int number,int dight) int a,count; count=0; while(number!=
19、0) a=number%10; number=number/10; if(a=dight) count+; printf(%dn,count); return count;3.#includeint fib(int n);int main(void) int m,n,num1; num1=1; printf(请输入两个正整数m和n(m=1,n=m&num1=n) fib(n); return 0;int fib(int n) int i,x1,x2,x,t; x1=1; x2=1; for(i=0;in;i+) x=x1+x2; printf(%5d,x); t=x; x1=x2; x2=t;
20、 printf(n); return x;5. #includevoid is(int num);int main(void) int n,m,num1; num1=1; printf(输入两个数m和n(m=1,n=m&num1=n) is(num1); return 0;void is(int num) int i,j,k; for(num=1;num1000;num+) i=num/100; j=num/10%10; k=num%10; if(i*100+j*10+k*1=i*i*i+j*j*j+k*k*k) printf(%5d,num); printf(n);6.#includeint
21、 reverse(int number);int main(void) int x; printf(请输入一个正整数:n); scanf(%d,&x); reverse(x); return 0;int reverse(int number) while(number!=0) printf(%d,number%10); number=number/10; printf(n); return number;第七章作业1.#includevoid main() int i,j=0,k=0,n,p,q,max,min; int a10; printf(请输入n(1n10)的值: n); scanf(
22、%d,&n); printf(请输入%d个数: n,n); for(i=0;in;i+) scanf(%d,&ai); min=a0;max=a9; if(aimax) max=ai; j=i; p=a9;a9=aj;aj=p; q=a0;a0=ak;ak=q; for(i=0;in;i+) printf(%8d,ai); printf(n);4.#includeint main(void) int m,n,i,j,sum; int a66,x80; printf(请输入m,n(1=m,n=6)的值: n); scanf(%d%d,&m,&n); printf(请输入%d个数: n,m*n); for(i=0;im;i+) for(j=0;in;j+) scanf(%d,&aij); for(i=0;im;i+) for(j=0;jn;j+) printf(%4d,aij); printf(n); for(i=0;im;i+) sum=0; for(j=0;jn;j+) sum=sum+aij; xi=sum; for(i=0;im;i+) printf(%dn,xi); return 0;5.#includevoid main() int a33,max,max1,max2,i,j,flag=1; printf(请输入9个数: n); for(i=0;i=2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1