C语言程序设计何钦铭课后习题作业_第1页
C语言程序设计何钦铭课后习题作业_第2页
C语言程序设计何钦铭课后习题作业_第3页
C语言程序设计何钦铭课后习题作业_第4页
C语言程序设计何钦铭课后习题作业_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对C语言来说,下列标示符中哪些是合法的,哪些是不合法的Total,_debug,Large&Tall,Counterl,begin_答:合法的:_debug、Counterl、begin_。不合法的:Total、Large&Tall。2、改写节中的流程图,求1—100中能被6整除的所有整数的和。3、改写节中的程序,求1—100中能被6整除的所有整数的和,并在编程环境中验证该程序的运行结果。答:程序为:#include<>intmain(void)(inti,sum=0;for(i=1;i<=100;i++)if(i%6==0)sum=sum+i;printf("sum=%d\n",sum);return0;}4、对于给定的整数n(n>1),请设计一个流程图判别n是否为一个素数(只能被1和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。

开始入假>=(n输出n假,直直i=i+1输出nr=0开始入假>=(n输出n假,直直i=i+1输出nr=0结束i=2r=n/]的假>=(n输入输出n假输出nV直r=0直i=i+1假>=(n输入输出n假输出nV直r=0直i=i+1结束i=2r=n/i的第二章作业.编写程序,输入两个整数num和num2,计算并输出她们的和、差、积、商。答:程序:#include<>voidmain()(intnum1,num2,y1,y2,y3,y5;doubley4;printf(〃请输入两个数:num1,num2\n");scanf("%d%d”,&num1,&num2);y1=num1+num2;y2=num1-num2;y3=num1*num2;y4=num1*num2;y5=num1%num2;printf("num1,num2和y1=%d\nnum1,num2差y2=%d\nnum1,num2积y3=%d\nnum1,num2商y4=%lf\nnum1,num2余y5=%d\n",y1,y2,y3,y4,y5);}.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为元/千瓦时;超出50千瓦时的用电量,电价上调元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。答:程序:#include<>voidmain()(doublex,y;printf(〃请输入月用电量:x\n〃);scanf("%lf",&x);if(x<=50){y=*x;printf(〃电费y=%lf\n",y);}else(y=*x;printf(〃应支付电费y=%lf\n",y);}}.编写程序,输入实数*和正整数口,计算xn,,不允许调用pow()函数求幂。答:程序:#include<>voidmain()(doublex,power;inti,n;printf(〃请输入:x,n\n");scanf("%lf%d”,&x,&n);power=;for(i=1;i<=n;i++)power二power*x;printf("power(x,n)=%lf\n",power);}.编写程序,输入两个正整数山和必求Z(i2+1/i)(i从m到n。)答:程序:#include<>voidmain()(inti,m,n;doublesum;sum=0;printf("input:m,n\n");scanf("%d%d”,&m,&n);for(i=m;i<=n;i++)sum=sum+(i*i+i);printf("sum=%lf\n",sum);}.编写程序,输入一个正整数n,计算1-2/3+3/5-4/7+5/9-6/11+…的前n项之和。答:程序:#include<>voidmain()(inti,n;doublesum,item,flag;flag=1;sum=0;printf("input:n\n");scanf("%d",&n);for(i=1;i<=n;i++){item=(flag*i)/(2*i-1);flag二-flag;sum=sum+item; }printf("sum=%lf\n",sum);}.某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款(money)取决于还款月数(皿0口计)。客户打算在5—30年的范围内选择还清贷款的年限,想得到一张“还款年限一月还款额表”以供参考。编写程序,输入贷款本金loan和月利率rate,输出“还款年限一月还款额表”,还款年限的范围是5—30年,输出时分别精确到年和元。Money=loan*rate(1+rate)month/[(1+rate)month-1]答:程序:#include<>#include<>voidmain()(intlower,upper,month,year,loan;doublemoney,rate;lower=5;upper=30;printf(〃请输入贷款本金:loan\n");scanf("%d”,&loan);printf(〃请输入月利率:rate\n");scanf("%lf”,&rate);printf(〃还款年限\t月还款额\n〃);for(year=lower;year<=upper;year++)(month=year*12;money=(loan*rate*pow((1+rate),month))/(pow((1+rate),month)-1);printf("%d\t\t%lf\n”,year,money);}}.编写程序,输入一个正整数n,求E2i(i从1到n),可调用pow()函数求幂。答:程序:#include<>#include<>voidmain()(inti,n;doublesum,item;sum=0;printf("input:n\n");scanf("%d",&n);for(i=0;i<=n;i++)(item=pow(2,i);sum=sum+item;}printf("sum=%lf\n",sum);.编写程序,输入一个正整数m求6=:£口(1从0到n)。要求定义和调用函数fact(n)计算n!,函数类型是double.答:程序:#include<>doublefact(intn);voidmain()(inti,n;doublesum;sum=0;printf("input:n\n");scanf("%d",&n);for(i=0;i<=n;i++)(sum=sum+fact(i);}printf("sun=%lf\n”,sum);}doublefact(intn)inti;doubleproduct;product二;for(i=1;i<=n;i++){product二product*i;}returnproduct;}第三章作业#include<>#include<>voidmain()(inta,b,c;doubles,area,perimeter;printf(〃请输入三角形三条边:a,b,c\n〃);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)/;area二sqrt(s*(s-a)*(s-b)*(s-c));printf(〃三角形的周长perimeter=%.2lf\n三角形的面积area=%.2lf\n",perimeter,area);}}#include<>#include<>voidmain()(doublesalary,tax,rate;printf(〃请输入职工的月薪:salary\n");scanf("%lf”,&salary);if(salary<=850)rate=0;elseif(salary<=1350)rate=5;elseif(salary<=2850)rate=10;elseif(salary<=5850)rate=15;elserate=20;tax二rate*(salary-850)/100;printf(〃职工应缴个人所得税tax=%.2lf\n",tax);}#include<>voidmain()(doublem,n,y;printf(〃请输入行驶里程(公里):m\n等待时间(分钟):n\n〃);scanf("%lf%lf”,&m,&n);if((m+n/<=3)y=10;elseif((m+n/<=10)y=2*(m+n/;elsey=2*10+3*(m+n/;;printf(〃乘客应付车费y=%d\n”,(int)((y*10+/);}#include<>voidmain()(inti,n,A,B,C,D,E;doublescore,total;printf(〃请输入一个数n:\n");scanf("%d",&n);total=0;A=0;B=0;C=0;D=0;E=0;for(i=1;i<=n;i++)printf(〃请输入第战d个学生成绩:\n〃,i);scanf("%lf”,&score);total二total+score;if(score>=90)A++;elseif(score>=80)B++;elseif(score>=70)C++;elseif(score>=60)D++;elseE++;}printf(〃平均成绩=%lf\n”,total/n);printf(〃等级成绩个数\nA=%d\nB=%d\nC=%d\nD=%d\nE=%d\n",A,B,C,D,E);}#include<>voidmain()(intyear;printf(〃21世纪所有的闰年:\n〃);for(year=2000;year<3000;year++)if(year%4==0&&year%100!二0||year%400==0)printf(〃%d\n〃,year);}第四章作业#include〃〃#include〃〃doublefact(intn);voidmain()(inti,n;doublex,s;printf(〃请输入一个实数x:\n〃);scanf(〃%lf〃,&x);s=0;i=1;while((pow(x,i)/fact(i))>={s=pow(x,i)*fact⑴+s;i++;}printf("s=%.2lf\n",s);}doublefact(intn)(inti;doubleresult;result=1;for(i=1;i<=n;i++)result二result*i;returnresult;}#include””intmain(void)(intx,a,count,sum;printf(〃请输入一个整数x:\n");scanf("%d",&x);sum=0;count=0;if(x<0)x=-x;do{a=x%10;sum=sum+a;x=x/10;count++;}while(x!=0);printf(〃位数=%4\门〃,。0口田);printf(〃各个位数之和为:%d\n”,sum);return0;}5、#include""voidmain()(inta,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+…+aa…a=%d\n”,s);}7、#include""voidmain()(inti,j,k,l,n;printf("1-10000之间的水仙花数有:\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、#include””#include””voidmain()(inti,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-1);printf(〃逐位输出:%d",n/m%10);printf(",");for(j=m/10;j>0;j=j/10)(n二k/j;printf('%d”,n%10);if(j!=1)printf(",");}}11、#include""voidmain()(intp,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(〃最大公约数为:%d\n',n);printf(〃最小公倍数为:%d\n”,p/n);13、#include""voidmain()inti,j;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");}}第五章#include<>#include<>longfac(intn,inta)(longsum;if(n==1)sum=a;elsesum=(long)(pow(10,nT)*a)+fac(nT,a);return(sum);main()(inta,n,i;longtemp,sum=0;printf(〃请输入一个数a,n\n");scanf("%d%d”,&a,&n);for(i=1;i<=n;i++)(temp二fac(i,a);sum十二temp;}printf(〃它们的和是二为^^^口山);return0;}#include<>intcountdight(intnumber,intdight);intmain(void)(intnumber;printf(〃输入一个数:“);scanf("%d”,&number);countdight(number,2);return0;}countdight(intnumber,intdight)(inta,count;count=0;while(number!=0)(a=number%10;number二number/10;if(a==dight)count++;}printf("%d\n”,count);returncount;}#include<>intmain(void)(intm,n,num1;num1=1;printf(〃请输入两个正整数m和n(m>=1,n<=10000)\n");scanf("%d%d”,&m,&n);if(num1>=m&&num1<=n)fib(n);return0;}intfib(intn)(inti,x1,x2,x,t;x1=1;x2=1;for(i=0;i<n;i++)(x=x1+x2;printf("%5d",x);t=x;x1=x2;x2=t;}printf("\n");returnx;}#include<>voidis(intnum);intmain(void)(intn,m,num1;num1=1;printf(〃输入两个数m和n(m>=1,n<=1000)\n");scanf("%d%d”,&m,&n);if(num1>=m&&num1<=n)is(num1);return0;}voidis(intnum)(inti,j,k;for(num=1;num<1000;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");}#include<>intreverse(intnumber);intmain(void)(intx;printf(〃请输入一个正整数:\n");scanf("%d",&x);reverse(x);return0;intreverse(intnumber)(while(number!=0)(printf('%d”,number%10);number二number/10;}printf("\n");returnnumber;}第七章作业1.#include<>voidmain()(inti,j=0,k=0,n,p,q,max,min;inta[10];printf(〃请输入n(1<n<10)的值:\n");scanf("%d",&n);printf(〃请输入%4个数:\n”,n);for(i=0;i<n;i++)(scanf("%d”,&a[i]);min=a[0];max=a[9];if(a[i]<min){min=a[i];k二i;}if(a[i]>max){max=a[i];j=i;}}p=a[9];a[9]=a[j];a[j]=p;q=a[0];a[0]=a[k];a[k]=q;for(i=0;i<n;i++)(printf("%8d",a[i]);printf("\n");}#include<>intmain(void)(intm,n,i,j,sum;inta[6][6],x[80];printf(〃请输入m,n(1<=m,n<=6)的值:\n");scanf("%d%d”,&m,&n);printf(〃请输入%4个数:\n”,m*n);for(i=0;i<m;i++)for(j=0;i<n;j++)scanf("%d”,&a[i][j]);for(i=0;i<m;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");}for(i=0;i<m;i++){sum=0;for(j=0;j<n;j++)sum=sum+a[i][j];x[i]=sum;for(i=0;i<m;i++)printf("%d\n",x[i]);return0;}#include<>voidmain()(inta[3][3],max,max1,max2,i,j,flag=1;printf(〃请输入9个数:\n");for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf("%d”,&a[i][j]);for(i=0;i<=2;i++)(max=a[i][0];for(j=0;j<=2;j++)(if(a[i][j]>max)max=a[i][j];max1=j;}for(max2=0;max2<=2;max2++)(if(max>a[max1][max2])(flag=0;break;}}if(flag==1)printf(〃鞍点是%d\n”,a[max2][max1]);if(flag==0)printf("nonumber\n");flag=1;}}8.#include<>#include<>intmain(void)inti,n;chars[80];printf(〃请输入n(n<80)的值:\n");scanf("%d",&n);printf(〃请输入%4个字符:\n”,n);for(i=0;i<n;i++)scanf("%s",s);for(i=0;s[i]!='\0';i++)(if(s[i]>='A'&&s[i]<='Z')s[i]=155-s[i];}for(i=0;s[i]!='\0';i++)putchar(s[i]);printf("\n");return0;}#include<>#include<>intmain(void)(inti,n;charf,s[80];printf("Enterastring:");/*输入字符串*/i=0;while((s[i]=getchar())!='\n')i++;s[i]='\0';n=0;for(i=0;s[i]!='\0';i++){if(s[i]<=7f&&s[i]>=20)s[i]=s[i++];elsebreak;}for(i=0;s[i]!='\0';i++)putchar(s[i]);return0;}第八章作业1.#include<>intmain(void)(charch;inta[10];inti,j,temp;printf(〃请输入10个整数:\n");for(i=0;i<10;i++)scanf("%d”,&a[i]);printf(〃请输入A或D:");scanf("%c”,&ch);if(ch二二,A,)(for(i=0;i<9;i++)(for(j=i+1;j<10;j++)(if(a[i]>a[j])(temp=a[i];a[i]=a[j];a[j]=temp;for(i=0;i<10;i++)printf(zz%d\nzz,a[i]);}}elseif(ch==,D,){for(i=0;i<9;i++){for(j=i+l;j<10;j++){if(a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;for(i=0;i<10;i++)printf("%d\n",a[i]);}}return0;}5.#include<>#include<>voidmcopy(char*s,intm);intmain(void)(inti,m,l;charstr[100];printf(〃请输入您要输入的字符串:〃);gets(str);printf(〃您将从原字符串的第m位复制新字符串,请输入m:\n〃);scanf(〃%d〃,&m);printf(〃复制后,新的字符串为:〃);mcopy(str,m);return0;}voidmcopy(char*s,intm)(printf("%s\n”,s+mT);}#include<>#include<>voidfushu(char*p);intmain(void)(charstr[80];printf(〃请输入一个英语名词单词:");scanf("%s",str);fushu(str);puts(str);return0;}voidfushu(char*p)inti,l;1=0;for(i=0;*(p+i)!=,\0,;i++){1++;}if(*(p+1-1)=-y,){(p+1)='e,;(p+1+1)='s';(p+1+2)=,\0,;}elseif((*(p+1-1)='s')||(*(p+lT)二二'x')||((*(p+1-2)==,c,)&&(*(p+1-1)二二'h'))||((*(p+1-2)==,s,)&&(*(p+1-1)==,h,))){(p+1)='e,;(p+1+1)='s';(p+1+2)=,\0,;}elseif(*(p+1-1)==,o?){(p+1)='e,;(p+1+1)='s';(p+1+2)=,\0,;else{*(p+l)=,s'*(p+l+1)='\0';}}#include<>#include<>intmain(void)(inti,j,a,n,sum,avg;int*p;printf("Entern:");scanf("%d",&n);if((p=(int*)calloc(n,sizeof(int)))==NULL){printf("Notabletoallocatememory.\n");exit(1);}printf(”请输入%4个学生的成绩:\n",n);for(i=0;i<n;i++){scanf("%d",p+i);sum=0;for(i=0;i<n;i++)sum=sum+*(p+i);avg二sum/n;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(*(p+i)>*(p+j)){a=*(p+i);*(p+i)=*(p+j);*(p+j)=a;}}}printf(〃学生的平均成绩是:%d\n”,avg);printf(〃学生的最高成绩是:%d\n”,*(p+n-1));printf(〃学生的最低成绩是:%d\n",*p);return0;}第九章作业#include<>struct(inthour,minute,second;}time;intmain(void)(scanf("%d:%d:%d",,,;++;if==60){++;=0;if==60){++;=0;if==24)=0;}}printf("%d:%d:%d",,,;return0;}structs1(charc1,c2;intn;);structs2(intn;structsim;);intmain(void)(printf("\n\t%d\t%d\t%c\n",,,,return0;}#include<>#defineN10structperson(charnum[10];charname[20];doublejbgz,jj,zc,sfgz;);structpersongz[N];intmain(){inti,index;printf(〃请输入%4名工人的基本信息:\n”,N);for(i=0;i<N;i++)(printf(〃请输入第%4名工人的基本信息:\n〃,i+1);scanf("%s%s%lf%lf%lf”,gz[i].num,gz[i].name,&gz[i].jbgz,&gz[i].jj,&gz[i].zc);}printf("%d名工人的基本信息:\n”,N);printf(〃编号\t姓名\t基本工资\t奖金\t支出\t实发工资\n〃);for(i=0;i<N;i++)printf(〃%s\t%s\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\n〃,gz[i].num,gz[i].name,gz[i].jbgz,gz[i].jj,gz[i].zc,gz[i].sfgz=gz[i].jbgz+gz[i].jj-gz[i].zc);in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论