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

    C语言程序设计(何钦铭)课后习题作业.pdf

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

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

    C语言程序设计(何钦铭)课后习题作业.pdf

    C语言程序设计(何钦铭)课后习题作业第一章习题1、对 c 语言来说,下列标示符中哪些是合法的,哪些是不合法的?Total,_debug,Large&Tall,Counterl,begin_答:合法的:_debug、Counterl begin_o不合法的:TotaK Large&Tallo2、改写1,4节中的流程图1.2,求 1-1 0 0 中能被6 整除的所有整数的和。3、改写1.4节中的程序,求 1100中能被6 整除的所有整数的和,并在编程环境中验证该程序的运行结果。答:程序为:#include<stdio.h>int main(void)(int i,sum=0;for(i=l;i<=100;i+)if(i%6=0)sum=sum+i;printf(sum=%dn,sum);return 0;)4、对于给定的整数n(n>l),请设计一个流程图判别n 是否为一个素数(只能被1 和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。第二章作业1.编写程序,输入两个整数num和 num 2,计算并输出她们的和、差、积、商。答:程序:#include<stdio.h>void main()(int numl,num2,yl,y2,y3,y5;double y4;printf(请输入两个数:numl,num2n);scanf(%d%d,&numl,&num2);yl=numl+num2;y2=numl-num2;y3=numl*num2;y4=numl*1.0/num2;y5=numl%num2;printf(numl,num2 和 yl=%dnnuml,num2 差 y2=%dnnuml,num2 积y3=%dnnuml,num2 商 y4=%lfnnuml,num2 余 y5=%dn,yl,y2,y3/y4,y5);2.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价 为 0.53元/千瓦时;超 出 50千瓦时的用电量,电价上调0.05元/千瓦时工编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电 费(元)。答:程序:#include<stdio.h>void main()(double x,y;printf(请输入月用电量:xn);scanf(%lf,&x);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<stdio.h>void main()double x,power;int i,n;printf(请输入:x,nn);scanf(%lf%d,&x,&n);power=1.0;for(i=l;i<=n;i+)power=power*x;printf(power(x,n)=%lfn,power);4.编写程序,输入两个正整数m 和 n,求 (i2+l/i)(i从 m 到 n。)答:程序:#include<stdio.h>void 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 项之和。答:程序:#include<stdio.h>void main()(int i,n;double sum,item,flag;flag=l;sum=O;printf(input:nn);scanf(%d,&n);for(i=l;i<=n;i+)item=(flag*i)/(2*i-l);flag=-flag;sum=sum+item;printf(sum=%lfn,sum);)6.某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款(money)取决于还款月数(month)o客户打算在530年的范围内选择还清贷款的年限,想得到一张“还款年限一月还款额表”以供参考。编写程序,输入贷款本金loan和月利率ra te,输 出“还款年限一月还款额表”,还款年限的范围是530年,输出时分别精确到年和元。Money=loan*rate(l+rate)month/(l+rate)month-l答:程序:#include<stdio.h>#include<math.h>void 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=(loan*rate*pow(l+rate),month)/(pow(l+rate),month)-l);printf(%dtt%lfn,year,money);)7.编写程序,输入一个正整数n,求2i(i从1到n),可调用pow()函数求累。答:程序:#include<stdio.h>#include<math.h>void 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,求6=(i从。到n)。要求定义和调用函数fact(n)计算n!,函数类型是double.答:程序:#include<stdio.h>double 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=l;i<=n;i+)product=product*i;return product;)第三章作业1.#include<stdio.h>#include<math.h>void main()(int a,b,c;double s,area,perimeter;printf(请输入三角形三条边:a,b,cn);scanf(%d%d%d,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)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<stdio.h>#include<math.h>void main()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、#include<stdio.h>void main()(double m,n,y;printf(请输入行驶里程(公里):mn等待时间(分钟):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);nn);else y=2*10+3*(m+n/5.0-10);printf(乘客应付车费 y=%dn,(int)(y*10+0.5)/10.0);)4、#include<stdio.h>void 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;for(i=l;i<=n;i+)printf(请输入第#%d 个学生成绩:n,i);scanf(%lf,&score);total=total+score;if(score>=90)A+;else if(score>=80)B+;else if(score>=70)C+;else if(score>=60)D+;elseE+;)printf(平均成绩=%lfn,total/n);printf(等级成绩个数:r)A=%dnB=%dnC=%dnD=%dnE=%dn,A,B,C,D,E);5、#include<stdio.h>void main()(int year;printf(21世纪所有的闰年:n);for(year=2000;year<3000;year+)if(year%4=0&&year%100!=01|year%400=0)printf(%dn,year);)第四章作业2、#includestdio.h#includemath.hdouble fact(int n);void main()(int i,n;double x,s;printf(请输入一个实数x:n);scanf(%lf,&x);s=0;i=l;while(pow(x,i)/fact(i)>=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=l;for(i=l;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(x<O)x=-x;doa=x%10;sum=sum+a;x=x/10;count+;while(x!=0);printf(位数=%5己,count);printf(各个位数之和为:%dn,sum);return 0;)5、#includestdio.hvoid main()(int a,n,i=l,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+.+aa.a=%dn,s);)7、#includestdio.hvoid main()(int i,j,k,l,n;printf(l-lOOOO之间的水仙花数有:n);for(n=10;n<10000;n+)(i=n/1000;j=n/100%10;k=n/10%10;l=n%10;if(i*1000+j*100+k*10+l=i*i*i+j*j*j+k*k*k+l*l*l)printf(%-5d,n);)printf(n);9、#includestdio.h#includemath.hvoid main()(int i,n,m,j,k;i=0;printf(请输入一个多位整数:n);scanf(%d,&n);k=n;while(k!=0)(i+;k=k/10;)k=n;m=pow(10,i-l);printf(逐位输出:%d,n/m%10);printfC;);for(j=m/10;j>0;j=j/10)n=k/j;printf(%d,n%10);if(j!=l)printf(,);)11、#includestdio.hvoid main()(int p,r,n,m,temp;printf(请输入两个正整数:n);scanf(%d%d,&n,&m);if(n<m)(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 ij;for(i=0;i<=3;i+)for(j=0;j<=2-i;j+)printf();for(j=0;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<stdio.h>#include<math.h>long fac(int njnt a)(long sum;if(n=l)sum=a;elsesum=(long)(pow(10,n-l)*a)+fac(n-l,a);return(sum);)main()int a,n,i;long temp,sum=0;printf(请输入一个数 a,nn);scanf(%d%d,&a,&n);for(i=l;i<=n;i+)(temp=fac(i,a);sum+=temp;)printf(它们的和是=%附”,sum);return 0;)2.#include<stdio.h>int 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!=0)(a=number%10;number=number/10;if(a=dight)count+;)printf(%dn,count);return count;)3.#include<stdio.h>int fib(int n);int main(void)int m,n,numl;numl=l;printf(请输入两个正整数 m 和 n(m>=l,n<=10000)n);scanf(%d%d,&m,&n);if(numl>=m&&numl<=n)fib(n);return 0;)int fib(int n)(int i,xl,x2,x,t;xl=l;x2=l;for(i=0;i<n;i+)(x=xl+x2;printf(%5d,x);t=x;xl=x2;x2=t;)printf(n);return x;5.#include<stdio.h>void is(int num);int main(void)(int n,m,numl;numl=l;printf(输入两个数 m 和 n(m>=l,n<=1000)n);scanf(%d%d,&m,&n);if(numl>=m&&numl<=n)is(numl);return 0;)void is(int num)(int i,j,k;for(num=l;num<1000;num+)i=num/100;j=num/10%10;k=num%10;if(i*100+j*10+k*l=i*i*i+j*j*j+k*k*k)printf(%5dznum);)printf(n);)6.#include<stdio.h>int 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.#include<stdio.h>void main()(int i,j=O,k=O,n,p,q,max,min;int a10;printf(请输入 的值:、n);scanf(%d,&n);printf(请输入d 个数:n,n);for(i=0;i<n;i+)(scanf(%d,&ai);min=a0;max=a9;if(ai<min)min=ai;k=i;)if(ai>max)max=ai;j=i;)p=a9;a9=aO;aj=p;q=aO;aO=ak;ak=q;for(i=0;i<n;i+)printf(%8d,ai);printf(n);4.#include<stdio.h>int main(void)(int m,n,i,j,sum;int a66,x80;printf(请输入 m,n(l<=m,n<=6)的值:n);scanf(%d%d,&m,&n);printf(请输入d 个数:n,m*n);for(i=0;i<m;i+)for(j=0;i<n;j+)scanf(%d,&aij);for(i=0;i<m;i+)for(j=0;j<n;j+)printf(%4d,aiU);printf(n);for(i=0;i<m;i+)sum=O;for(j=0;j<n;j+)sum=sum+aij;xi=sum;)for(i=0;i<m;i+)printf(%dn,xi);return 0;)5.#include<stdio.h>void main()(int a33,max,maxi,max2,ij,flag=l;printf(请输入9个数:n);for(i=0;i<=2;i+)for(j=0;j<=2;j+)scanf(%d,&aij);for(i=0;i<=2;i+)(max=aiO;for(j=0;j<=2;j+)(if(aij>max)(max=aij;maxl=j;)for(max2=0;max2<=2;max2+)(if(max>amaxlmax2)(flag=O;break;)if(flag=l)printf(鞍点是%dn,amax2maxl);if(flag=O)printf(no numbern);flag=l;)8.#include<stdio.h>#include<string.h>int main(void)(int i,n;char s80;printf(请输入 n(n<80)的值:n);scanf(%d,&n);printf(请输入d个字符:n,n);for(i=0;i<n;i+)scanf(%s,s);for(i=0;si!='0'i+)(if(si>='A'&&si<='Z')si=155-si;)for(i=0;si!='0'i+)putchar(si);printf(n);return 0;)#include<stdio.h>#include<string.h>int main(void)int i,n;char fzs80;printf(Enter a string:);/*输入字符串*/i=0;while(si=getchar()!='n')i+;si='0'n=0;for(i=0;si!='0'i+)if(si<=7f&&si>=20)si=si+;elsebreak;)for(i=0;si!='0'i+)putchar(si);return 0;)第八章作业1.#include<stdio.h>int main(void)char ch;int a10;int i,j,temp;printf(请输入 10 个整数:n);for(i=0;i<10;i+)scanf(%d,&ai);printf(请输入 A 或 D:);scanf(%c,&ch);if(ch='A')for(i=0;i<9;i+)for(j=i+l;j<10;j+)if(ai>aj)temp=ai;ai=aj;aj=temp;for(i=0;i<10;i+)printf(%dn,ai);)else if(ch='D')for(i=0;i<9;i+)for(j=i+l;j<10;j+)if(ai<aUD(temp=ai;ai=aU;aj=temp;)for(i=0;i<10;i+)(printf(%dn,ai);)return 0;)5.#include<stdio.h>#include<string.h>void mcopy(char*s,int m);int main(void)(int i,m,l;char str100;printf(请输入您要输入的字符串:);gets(str);printf(您将从原字符串的第m位复制新字符串,请输入m:n);scanf(%d,&m);printf(复制后,新的字符串为mcopy(str,m);return 0;)void mcopy(char*s,int m)printf(%sn,s+m-l);)11.#include<stdio.h>#include<string.h>void fushu(char*p);int main(void)char str80;printf(请输入一个英语名词单词scanf(%s,str);fushu(str);puts(str);return 0;void fushu(char*p)int i,l;1=0;for(i=0;*(p+i)!='0'i+)I+;)if(*(p+l-l)='y')*(p+l)='e'*(p+l+l)='s'*(p+l+2)='0')elseif(*(p+l-l)='s')|(*(p+l-l)='x')|(*(p+l-2)='c')&&(*(p+l-l)='h')|(*(p+l-2)='s')&&(*(p+l-l)='h')*(p+l)='e'*(p+l+l)='s'*(p+l+2)='0')else if(*(p+l-l)='o')*(p+l)='e'*(p+l+l)='s'*(p+l+2)='0'else*(p+l)='s'*(p+l+l)='0')12.#include<stdio.h>#include<stdlib.h>int main(void)(int i,j,a,n,sum,avg;int*p;printf(Enter n:);scanf(%d,&n);if(p=(int*)calloc(n,sizeof(int)=NULL)printf(Not able to allocatememory.n);exit(l);)printf(请输入d 个学生的成绩:n,n);for(i=0;i<n;i+)scanf(%d,p+i);sum=O;for(i=0;i<n;i+)sum=sum+*(p+i);avg=sum/n;for(i=0;i<n-l;i+)for(j=i+l;j<n;j+)if(*(p+i)>*(p+j)a=*(p+i);*(p+i)=*(p+j);*(p+j)=a;)printf(学生的平均成绩是:dn,avg);printf(学生的最高成绩是:dn,*(p+n-l);printf(学生的最低成绩是:dn,*p);return 0;)第九章作业1.#include<stdio.h>structint hour,minute,second;time;int main(void)(scanf(%d:%d:%d,time.hour,time,minute,time.second);time.second+;if(time.second=60)time.minute+;time.second=0;if(time.minute=60)time.hour+;time.minute=O;if(time.hour=24)time.hour=0;)printf(%d:%d:%d,time.hour,time.minute,time.second);return 0;)2.struct slchar cl,c2;int n;);struct s2int n;struct si m;);int main(void)(printf(nt%dt%dt%cn,m.n,m.m,m.n,m.m.cl,m.m,c2);)8.#include<stdio.h>#define N 10struct personchar num10;char name20;double jbgz,jj,zc,sfgz;);struct person gzN;int main()int ijndex;printf(请输入d 名工人的基本信息:n,N);return 0;for(i=0;i<N;i+)printf(请输入第d名工人的基本信息:n,i+l);scanf(%s%s%lf%lf%lf,gzi.num,gzi.name,&gzi.jbgz,&gzi.jj,&gzi.zc);)printf(%d名工人的基本信息:n,N);printf(编号 t姓名 t基本工资 t奖金 t支出 t实发工资n);for(i=0;i<N;i+)printf(%st%st%.2lftt%.2lft%.2lft%.2lfn,gzi.num,gzi.name,gzi.jbgz,gziJj,gzi-zc;gzi.sfgz=gzi.jbgz+gzi.jj-gzi.zc);index=O;for(i=0;i<N;i+)(if(gzi.sfgz>gzindex.sfgz)index=i;)printf(实发工资最高的工人:n姓名:st实发工资:.2lfn,gzindex.name,gzindex.sfgz);return 0;)9.#include<stdio,h>#define N 3struct bookchar sm30;double dj;;struct book xxN;int main()int i,max,min;printf(请输入d 本书的基本信息:n,N);for(i=0;i<N;i+)(printf(请输入第d 本书的基本信息:nzi+l);scanf(%s%lf,xxi.sm,&xxi.dj);)min=0;for(i=0;i<N;i+)if(xxi.dj<xxmin.dj)min=i;for(i=0;i<N;i+)max=0;if(xxi.dj>xxmax.dj)max=i;printf(定价最高的书:n);printf(t%st%.2lfn,xxmax.sm,xxmax.dj);printf(定价最低的书:n);printf(t%st%.2lfn,xxmin.sm,xxmin.dj);return 0;第十章作业1.#includestdio.hint main()(int n;int fact(int n);printf(请输入一个 3 位数:nn);scanf(%d,n);printf(%d,fact(n);return 0;)int fact(int n)(int i,a,b,c,count=0;for(i=101;l<=n;i+)a=i%10;b=(i/10)%10;c=i%100;if(a=b|a=c 1 1 b=c)count+;)return count;2.#include<stdio.h>#include<math.h>double fact(int n,double x);void main()(int n;double result,x;printf(请输入整数 n 及 x:);scanf(%d%lf,&n,&x);result=fact(n,x);printf(结 果 为:result);double fact(int n,double x)(if(n=l)return x;elsereturn pow(-l,n-l)*pow(x,n)+fact(n-l,x);3.#include stdio.hint invert(long m)printf(%ld”,m%10);m=m/10;if(m>0)invert(m);)main()(long n;printf(Enter n:);scanf(%ld,&n);invert(n);printf(n);)

    注意事项

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

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开