C语言程序设计张淑华朱丽莉版课后习的题目参考详解_第1页
C语言程序设计张淑华朱丽莉版课后习的题目参考详解_第2页
C语言程序设计张淑华朱丽莉版课后习的题目参考详解_第3页
C语言程序设计张淑华朱丽莉版课后习的题目参考详解_第4页
C语言程序设计张淑华朱丽莉版课后习的题目参考详解_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

实用标准文案C语言程序设计(张淑华、朱丽莉主编)课后习题解答(仅供参考)习题一一、选择题.B 2.D 3.B 4.A 5.B.C 7.C二、填空题1..obj 2.函数3./**/4.#include<stdio.h>inta,b;a,b)(略三、简答题二习题一、选择题A5.A3.4.D 1.B2.BB10. 9.CA6.C7.C 8.C15. 14.AA11.A12. 13.C二、填空题4.(1)a>=0(2)032.存储数据的单元.非0、0.变量17 4, 9.8. 5.161 7.-30.387 12..-617777210. 119.9三、与出下列程序的运行结果58 512 643 .,,.10052184•d4,c2185.四、编程题精彩文档.实用标准文案.#include<stdio.h>#definePI3.1415926voidmain(){floatr,s;printf(“Pleaseinputcircinalradii'n");scanf("%f”,&r);s=PI*r*r;printf("r=%.2f,s=%.2f\n”,r,s);}.#include<stdio.h>voidmain(){charc1,c2;printf(“Pleaseinputamajuscule'n");scanf("%c”,&c1);c2=c1>'A'&&c1<'Z'?c1+32:c1;printf("%c\n”,c2);}.#include<stdio.h>voidmain(){inta=0,b;scanf("%c”,&b);b=b&a;精彩文档.实用标准文案printf("b=%d\n”,b);}习题三一、 选择题1.C 2.C 3.A 4.C 5.D.原题第2行应为c=(c-=a-5),(a=b,b+3);答案为B否则输出结果为5,0,5.D 8.C 9.A 10.B二、 填空题.-50300、a=-50,b=300a=-50 b=300.102030、10,20,30、a=10,b=20,c=303.15、0、0三、 写出下列程序的运行结果1.a=789.654321,a=789.65,a=789.65432100,a=789.6543212.b=15,b=17,b=f 3.c=1,x=0,y=0,z=1 4.2120,20

5.在TC环境下为216,125在VC环境下为216,1806.a=A,b=d,c=F7.9,4,12,12.x=4.500000,y=4,x+y=8.500000四、编程题1.#include<stdio.h>voidmain()精彩文档.实用标准文案printf(**********************************\n);printf(HAPPYNEWYEAR!\n);printf(*'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k*\n);printf(*'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k*\n);2.(1)#include<stdio.h>voidmain(){inta=5,b=8,c=10,m,max;m=a>b?a:b;max=c>m?c:m;printf("max=%d\n”,max);

(2)#include<stdio.h>voidmain(){inta,b,c,m,max;scanf(%d,%d,%d,&a,&b,&c);max=a>b?a:(b>c?b:c);printf("max=%d\n”,max);一、选择题咛文档精彩文档.5.D10.B实用标准文案5.D10.B二、填空题1.6、5、1.6、5、52.(a%3==0||a%7==0)3.⑴a>b(2)a=c;(3)a,b,c三、写出下列程序的运行结果1.42.643.a=7,b=44.4646.*# 1.42.643.a=7,b=44.4646.*# 546四、编程题3.另见填空题1#include<stdio.h>voidmain()floata,b,c,t;scanf(%f,%f,%f,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;},a,b,c);%.2f,%.2f,%.2f\n”“printf(}#include<stdio.h>-2精彩文档.实用标准文案voidmain(){inta,b;scanf(%d,%d,&a,&b);if(a%b==0)printf(“%disdivisibleby%d\n”,a,b);elseprintf(“%disnotdivisibleby%d\n",a,b);.(1)#include<stdio.h>voidmain(){intx,y;scanf("%d”,&x);if(x>-5&&x<0)y=x;printf(y=%d\n,y);elseif(x==0)y=x-1;printf(y=%d\n,y);elseif(x>0&&x<10)y=x+1;printf(y=%d\n,y);else精彩文档.实用标准文案printf(Dataoutofrange\n);}(2)#include<stdio.h>voidmain(){intx,y;scanf("%d”,&x);switch(x){case-1:case-2:case-3:case-4:y=x;printf(y=%d\n,y);break;case0:y=x-1;printf(y=%d\n,y);break;case1:case2:case3:case4:case5:case6:case7:case8:case9:y=x+1;printf(y=%d\n,y);break;default:printf(Dataoutofrange\n);精彩文档.实用标准文案}.#include<stdio.h>voidmain(){longnum;intindiv,ten,hundred,thousand,tenthousand,place;/*分别代表个位、十位、百位、干位、万位和位数*/printf(“PleaseInputainteger(0~99999):");scanf("%ld”,&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf("place=%d\n”,place);printf(“Foreachdigit:");tenthousand=num/10000;精彩文档.实用标准文案thousand=(int)(num-tenthousand*10000)/1000;hundred=(int)(num-tenthousand*10000-thousand*1000)/100;

ten=(int)(num-tenthousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-tenthousand*10000-thousand*1000-hundred*100-ten*10);switch(place){case1:printf("%d”,indiv);break;case2:printf("%d,%d”,ten,indiv);break;case3:printf("%d,%d,%d”,hundred,ten,indiv);break;case4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);break;case5:printf("%d,%d,%d,%d,%d”,tenthousand,thousand,hundred,ten,indiv);一、选择题10.B1.(1)x>=0或!(x<0)(2)x<amin2.(1)i<10或i<=9(2)j%3或j%3!=03.(1)pi1.(1)x>=0或!(x<0)(2)x<amin2.(1)i<10或i<=9(2)j%3或j%3!=03.(1)pi(2)fabs(t)(2)j%3或j%3!=0(3)4精彩文档.实用标准文案三、 写出下列程序的运行结果.1 2.y=-1 3.4 4.a=2,b=8 5.*76.45 7.1 8.s=03423四、 编程题.#include<stdio.h>voidmain(){inti,j,k;for(i=1;i<=4;i++)/*输出上面4行*号*/{for(j=1;j<=5-i;j++)printf(““);/*输出*号前面的空格*/for(k=1;k<=2*i-1;k++)printf("*");/*输出*号*/printf("\n”);/*输出完一行*号后换行*/}}.#includestdio.hvoidmain(){intnum,n1,n2,p=1;scanf(%d,&num);精彩文档.实用标准文案while(num){n1=num/10;n2=num_x0010_;p*=n2;num=n1;}printf(um=%d,p=%d\n,num,p);}.#includestdio.hvoidmain(){inti;floats1,s2,s3,s4,s5,sum,avg;for(i=1;i<=6;i++){printf(Pleaseenterafivesubjectsscore\n);scanf(%f,%f,%f,%f,%f,&s1,&s2,&s3,&s4,&s5);sum=0;sum+=s1+s2+s3+s4+s5;avg=sum/5;

printf(%dindividuals,theaveragescoreis%.2f\n,i,avg);习题六精彩文档.实用标准文案一、选择题二、填空题1.地址常量2.非03.3.⑴j=9(2)j>=01.地址常量2.非03.3.⑴j=9(2)j>=04.(1)0 (2)65.(1)gets(temp);(2)strcpy(temp,str);6.(1)i<3 (2)a[i][i]7.(1)&a[i] (2)i%4==0(3)printf(\:\);8.(1)s[i]>=48&&s[i]<=57或s[i]>='0'&&s[i]<='9' (2)d[j]=0;或d[j]='\0';8.三、写出下列程序的运行结果1.137152.s=153.584.115.706.how1.137152.s=153.584.115.706.how7.max=9,row=1,col=08.6,4,3,2,areyou?Iamfine四、编程题1.#include<stdio.h>#defineN10voidmain(){inta[32],x,k,r,i;printf(“Pleaseinputaninteger:\);k=-1;do{r=x%2;a[++k]=r;精彩文档.实用标准文案x/=2;}while(x>=1);for(i=k;i>=0;i--)printf("_x001D_",a[i]);printf("\n");}.#include<stdio.h>#defineN10voidmain(){inta[N+1]={10,20,30,40,50,60,70,80,90,100};intt1,t2,num,i,j;printf(“arraya:\n");for(i=0;i<N;i++)printf("%d”,a[i]);printf("\n");printf(“Insertdata:");scanf(“%d",&num);if(num>a[N-1])a[N]=num;else{for(i=0;i<N;i++)精彩文档.实用标准文案{if(a[i]>num){t1=a[i];a[i]=num;for(j=i+1;j<N+1;j++){t2=a[j];a[j]=t1;t1=t2;}break;}}}printf(Currentarraya:\n");for(i=0;i<N+1;i++)}.#include<stdio.h>#defineN6voidmain(){inti,j,a[N][N];for(i=1;i<N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<N;i++)for(j=2;j<i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];精彩文档.实用标准文案for(i=1;i<N;i++){for(j=1;j<=i;j++)printf("]”,a[i][j]);printf("\n");}}.#includestdio.hvoidmain(){chars[80],t[80],d;inti,j;printf(Pleaseenterastring:\n);gets(s);printf(delete?\n);d=getchar();for(i=j=0;s[i]!='\0';i++)if(s[i]!=d){t[j]=s[i];j++;}t[j]='\0';printf(%s\n,t);}.#includestdio.h#defineN8精彩文档.实用标准文案voidmain(){ints[N][3],i,j,k,m,t1;floata[N],sum,t2;for(i=0;i<N;i++){printf(Pleaseenterthe%d-ththreesubjectsscore\n,i);sum=0;for(j=0;j<3;j++){ scanf(%d,&s[i][j]);sum+=s[i][j];}a[i]=sum/3;}for(i=0;i<N-1;i++){k=i;for(j=i+1;j<N;j++)if(a[k]<a[j])k=j;if(k!=i){for(m=0;m<3;m++){t1=s[i][m];s[i][m]=s[k][m];s[k][m]=t1;}/*交换整行的值*/t2=a[i];a[i]=a[k];a[k]=t2;}}精彩文档.实用标准文案for(i=0;i<N;i++){printf(%d-th,i);for(j=0;j<N;j++)printf(%d,s[i][j]);选择题5.A10.C9C.6D二、填空题4,83、、x.z.yx.z.z.1.structSTRUt[20];2xxxy三、写出下列.x.xx.y程序的运行结果Zhao,m,85,90.52144E5S361.四、编程题includestdio.h.1#defineN45structstudentcharname[20];charsex[7];intage;精彩文档.实用标准文案intscore;}std[N];voidmain(){inti,max=0,rowi;for(i=0;i<N;i++){printf(Pleaseenterthedataofthe%d-thstudent:\n,i);printf(ame:);scanf(%s,std[i].name);printf(sex:);scanf(%s,std[i].sex);printf(age:);scanf(%d,&std[i].age);printf(score:);scanf(%d,&std[i].score);if(max<std[i].score){max=std[i].score;rowi=i;}}printf(ame:%s,std[rowi].name);printf(sex:%s,std[rowi].sex);printf(age:%d,std[rowi].age);精彩文档.实用标准文案printf(score:%d\n,std[rowi].score);}2.#includestdio.h#defineN5structstudent{charname[20];charsex[7];intscore;}std[N];voidmain(){inti,ml=0,fml=0;floatsum=0,avg;for(i=0;i<N;i++){printf(Pleaseenterthedataofthe%d-thstudent:\n,i);printf(ame:);scanf(%s,std[i].name);printf(sex:);scanf(%s,std[i].sex);if(std[i].sex[0]=='m'||std[i].sex[0]=='M')ml+=1;elsefml+=1;精彩文档.实用标准文案printf(score:);scanf(%d,&std[i].score);sum+=std[i].score;}avg=sum/N;printf(Thenumberofmalestudents:%d\n,ml);printf(Thenumberoffemalestudentsare:%d\n,fml);printf(Theaveragescoresare:%.2f\n,avg);}习题八一、选择题1.A 2.C 3.D 4.A5.C7.D6.A一、填空题2.(1)intmm%i==0(2)(3)low=mid+1high=mid-11.(1) (2)returns(2)max.3(1)max=x[i][j]三、写出下列程序的运行结果124 231. 2Qian,p,95,92 . .h=8.5四、 编程题#includestdio.h1.voidmain()精彩文档.实用标准文案{intprime(int);intx;printf(\Pleaseinputaninteger:);scanf(%d,&x);if(prime(x))printf(\%disprime.\n,x);elseprintf(\%disnotprime.\n,x);}intprime(intn){intflag=1,i;for(i=2;i<=n-1&&flag==1;i++)if(n%i==0)flag=0;return(flag);}2.#includestdio.hvoiddelask(chara[]){inti,j;charb[80];for(i=j=0;a[i]!='\0';i++)if(a[i]!='*')精彩文档.实用标准文案{while(a[i]!='\0'){ b[j]=a[i];j++;i++;}break;}b[j]='\0';for(i=0;b[i]!='\0';i++)a[i]=b[i];a[i]='\0';}voidmain(){chars[80];printf(Pleaseenterastring:\n);scanf(%s,s);delask(s);printf(%s\n,s);}3.#includestdio.hstructdate{intday;精彩文档.实用标准文案intmonth;intyear;};intdays(structdatedt){inty,m,d,ds[12]={31,28,31,30,31,30,31,31,30,31,30,31},i,s=0;y=dt.year;m=dt.month;d=dt.day;if(y%4==0&&y_x0010_0!=0||y@0==0)ds[1]=29;/*计算每月的天数是本年第几天*/switch(m){case1:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case2:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case3:for(i=0;i<m-1;i++)s+=ds[i];精彩文档.实用标准文案s+=d;break;case4:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case5:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case6:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case7:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case8:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;精彩文档.实用标准文案case9:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case10:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case11:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;case12:for(i=0;i<m-1;i++)s+=ds[i];s+=d;break;}return(s);}voidmain()structdateymd;{intdys;精彩文档.实用标准文案printf(Inputyearmonthandday\n);scanf(%d,%d,%d,&ymd.year,&ymd.month,&ymd.day);dys=days(ymd);printf(Todayisthefirst%ddaysinthemiddleofthisyear.\n,dys);}习题九一、选择题.A2.D 3.A 4.D .B6.A5二、写出下列程序的运行结果8.5 12.4 11.110 .9 11 3.***1 1 6.2131三、 编程题#includestdio.h.1#defineN10floatfmax=0,fmin=0;floataverage(floatfscore[],intn)inti;{floatfaver,fsum=fscore[0];fmax=fmin=fscore[0];for(i=1;i<n;i++)精彩文档.实用标准文案{if(fscore[i]>fmax)fmax=fscore[i];elseif(fscore[i]<fmin)fmin=fscore[i];fsum+=fscore[i];}faver=fsum/n;return(faver);}voidmain(){floatfave,fnumb[N];inti;for(i=0;i<N;i++)scanf(%f,&fnumb[i]);fave=average(fnumb,N);printf(max=%.2fmin=%.2faverage=%.2f\n,fmax,fmin,fave);}2.此题有误,用宏定义较难实现。以下程序仅供参考#includestdio.hvoidmain(){charstrg[30]=CLanguageProgram,c;精彩文档.实用标准文案inti=0;while((c=strg[i])!='\0'){i++;if(c>='a'&&c<='z')c=c-32;elseif(c>='A'&&c<='Z')c=c+32;printf(%c,c);}printf(\);}.#includestdio.h#includemath.h#defineS(a,b,c)((a+b+c)/2)#defineAREA(a,b,c)sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c))

voidmain(){floata,b,c;printf(Pleaseinputa,b,c:);scanf(%f,%f,%f,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)printf(%.2f\n,AREA(a,b,c));精彩文档.实用标准文案elseprintf(Itisnotatriangle!\n);选择题5.CA98.C.D10.A6.A141.15.C1211.A.B13.C.A写出下列程序的运行结果8389.10 .4 2234Thedata:6CBADGFE5..30,307.44445678910.8c=B三、编程题#include<stdio.h>.1#include<string.h>三、编程题#include<stdio.h>.1#include<string.h>voidfun(char*s,int*a,int*b)while(*s!='\0') (if(*s>=65&&*s<=90){(*a)++;*/ /*可用*a+=1;if(*s>=97&&*s<=122)(*b)++;*/*b+=1; /*可用精彩文档.实用标准文案s++;}}voidmain(){chars[100];intupper=0,lower=0;抽潼晴尨请输入一串字符:\n);gets(s);fun(s,&upper,&lower);printf(%upper=%d,lower=%d\n,upper,lower);}2.#include<stdio.h>voidfun(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}voidmain(){inta,b,*p11,*p22;scanf(%d,%d,&a,&b);p11=&a;p22=&b;精彩文档.实用标准文案if(a<b)fun(p11,p22);printf(%d,%d\n,a,b);}习题十一

一、选择题1.B 2.D 3.B 4.C .C5 B.1087.C .A 9

温馨提示

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

评论

0/150

提交评论