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

下载本文档

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

文档简介

实用标准文案语言程序设计(张淑华、朱丽莉主编)课后习题解答(仅供参考)习题一一、选择题1.B2.D3.B4.A5.B6.C7.C二、填空题1..obj2.函数3./**/4.#include<stdio.h>inta,b;a,b三、简答题(略)习题二一、选择题1.B2.B3.A4.D5.A6.C7.C8.A9.C10.B11.A12.A13.C14.A15.C二、填空题1.变量2.存储数据的单元3.非0、04.(1)a>=0(2)05.16.17.-308.389.4,710.-617777211.9.912.7三、写出下列程序的运行结果1.0,0,5 2.18 3.64 512 8 4.55.d4,c四、编程题精彩文档实用标准文案1.#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);}2.#include<stdio.h>voidmain(){charc1,c2;printf( “Pleaseinputamajuscule\n ”);scanf(“%c”,&c1);c2=c1> ’A’&&c1< ’Z’?c1+32:c1;printf( “%c\n”,c2);}3.#include<stdio.h>voidmain(){inta=0,b;scanf(“%c”,&b);b=b&a;精彩文档实用标准文案printf( “b=%d\n ”,b);}习题三一、选择题1.C2.C3.A4.C5.D6.原题第2行应为c=(c-=a-5),(a=b,b+3);答案为B否则输出结果为5,0,57.D8.C9.A10.B二、填空题1.-50300、a=-50,b=300a=-50 b=3002.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=f3.c=1,x=0,y=0,z=14.2120,205.在TC环境下为216,125在VC环境下为216,1806.a=A,b=d,c=F7.9,4,12,128.x=4.500000,y=4,x+y=8.500000四、编程题1.#include<stdio.h>voidmain()精彩文档实用标准文案{printf("**********************************\n");printf(" HAPPYNEWYEAR! \n");printf("**********************************\n");}.#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);}习 题 四一、选择题精彩文档实用标准文案1.D2.D3.C4.A5.D6.A7.C8.C9.D10.B二、填空题1.6、5、5 2.(a%3==0||a%7==0) 3.(1)a>b (2)a=c; (3)a,b,c三、写出下列程序的运行结果1.4 2.64 3.a=7,b=4 4.46 46 5.*#46四、编程题1.另见填空题 3#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;}printf(“%.2f,%.2f,%.2f\n”,a,b,c);}2.#include<stdio.h>精彩文档实用标准文案voidmain(){inta,b;scanf("%d,%d",&a,&b);if(a%b==0)printf( “%disdivisibleby%d\n ”,a,b);elseprintf( “%disnotdivisibleby%d\n ”,a,b);}3.(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");精彩文档实用标准文案}4.#include<stdio.h>voidmain(){longnum;int indiv,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);}}习题五一、选择题1.D2.C3.D4.B5.C6.B7.C8.B9.B10.B二、填空题1.(1)x>=0或!(x<0)(2)x<amin2.(1)i<10或i<=9(2)j%3或j%3!=03.(1)pi(2)fabs(t)(3)4精彩文档实用标准文案三、写出下列程序的运行结果1.12.y=-13.44.a=2,b=85.*76.457.18.s=03423四、编程题1.#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”);/*输出完一行*号后换行*/}}2. #include"stdio.h"voidmain(){intnum,n1,n2,p=1;scanf("%d",&num);精彩文档实用标准文案while(num){n1=num/10;n2=num%10;p*=n2;num=n1;}printf("num=%d,p=%d\n",num,p);}3. #include"stdio.h"voidmain(){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.D2.C3.D4.D5.B6.A7.C8.D9.A二、填空题1.地址常量2.非03.3.(1)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("\n:\");8.(1)s[i]>=48&&s[i]<=57或s[i]>='0'&&s[i]<='9'(2)d[j]=0;或d[j]='\0';三、写出下列程序的运行结果1.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( “%1d”,a[i]);printf(“\n”);}2.#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++)printf( “%5d\n”,a[i]);}3.#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(“%5d”,a[i][j]);printf(”\n”);}}4. #include"stdio.h"voidmain(){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);}5.#include"stdio.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]);printf("%.2f\n",a[i]);}}习题七一、选择题1.C2.A3.B4.B5.A6.D7.C8.D9.C10.C二、填空题1.structSTRUt[20]; 2.x.x、x.y、、 3.4,8三、写出下列程序的运行结果1.6 2.0 3.4E5S 4.21 5.Zhao,m,85,90四、编程题1.#include"stdio.h"#defineN45structstudent{charname[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("name:");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("name:%s ",std[rowi].name);printf("sex:%s ",std[rowi].sex);printf("age:%d ",std[rowi].age);精彩文档实用标准文案printf("score:%d\n",std[rowi].score);}2.#include"stdio.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("name:");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.A2.C3.D4.A5.C6.A7.D二、填空题1.(1) high=mid-1 (2)low=mid+1 2.(1) int m (2) m%i==0 (3)returns3.(1)max=x[i][ j] (2)max三、写出下列程序的运行结果1.625 2.Qian,p,95,92 3.2 4.12 5.h=8四、编程题1.#include"stdio.h"voidmain()精彩文档实用标准文案{intprime(int);intx;printf("\nPleaseinputaninteger:");scanf("%d",&x);if(prime(x))printf("\n%disprime.\n",x);elseprintf("\n%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.#include"stdio.h"voiddelask(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.#include"stdio.h"structdate{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%100!=0||y%400==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);}习 题 九一、选择题1.A 2.D 3.A 4.D 5.B 6.A二、写出下列程序的运行结果1.102.911113.***4.125.86.111 21 3三、编程题1.#include"stdio.h"#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=%.2f min=%.2f average=%.2f\n",fmax,fmin,fave);}.此题有误,用宏定义较难实现。以下程序仅供参考#include"stdio.h"voidmain(){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("\n");}3.#include"stdio.h"#include"math.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");}习题十一、选择题1.B2.D3.D4.D5.C6.A7.A8.C9.D10.A11.A12.B13.C14.A15.C二、写出下列程序的运行结果1.2 1 2.0 34 89 3.10 4.84 35.CBADGFE 6.30,30 7.Thedata: 8.44445678910i=5 c=B三、编程题1.#include<stdio.h>#include<string.h>voidfun(char*s,int*a,int*b){while(*s!='\0'){if(*s>=65&&*s<=90)*a+=1; /* 可用 (*a)++;*/if(*s>=97&&*s<=122)*b+=1; /* 可用(*b)++;*/精彩文档实用标准文案s++;}}voidmain(){chars[100];intupper=0,lower=0;printf(" 请输入一串字符: \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.B2.D3.B4.C5.C6.C7.C8.A9.D10.B二、写出下列程序的运行结果1.1,2

温馨提示

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

评论

0/150

提交评论