c编程习题答案.docx
- 文档编号:12177259
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:35
- 大小:21.18KB
c编程习题答案.docx
《c编程习题答案.docx》由会员分享,可在线阅读,更多相关《c编程习题答案.docx(35页珍藏版)》请在冰豆网上搜索。
c编程习题答案
第3章习题答案
四、编程题i<100
1.
#include
main()
{
floatc,f;
printf("inputf=\n");
scanf("%f",&f);
c=(5.0/9.0)*(f-32);
printf("%5.2f\n",c);
}
2.
#include
main()
{
intx,y;
scanf("%d",&x);
if(x<0)
y=x;
else
if(x>=10)
y=3*x-11;
else
y=2*x-1;
printf("\nx=%d,y=%d\n",x,y);
}
3.
#include
main()
{
chargrade;
grade=getchar();
switch(grade)
{case'A':
printf(">=90");break;
case'B':
printf("80~89");break;
case'C':
printf("70~79");break;
case'D':
printf("60~69");break;
case'E':
printf("0~59");
}
}
4.
#include
voidmain()
{
intp,r,n,m,temp;
scanf("%d,%d",&n,&m);
if(n { temp=n; n=m; m=temp; } p=n*m; while(m! =0) {r=n%m; n=m; m=r; } printf("%d,%d",n,p/n); } 5. #include voidmain() {intn,a,b,c; for(n=100;n<=999;n++){ a=n/100; b=(n-a*100)/10; c=n%10; if(n==a*a*a+b*b*b+c*c*c) printf("%d,",n); } } 6. #include main() { inta,b,c,d,t; scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("\na=%d,b=%d,c=%d,d=%d\n",a,b,c,d); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(a>d) {t=a;a=d;d=t;} if(b>c) {t=b;b=c;c=t;} if(b>d) {t=b;b=d;d=t;} if(c>d) {t=c;c=d;d=t;} printf("%d,%d,%d,%d",a,b,c,d); } 7. #include #include main() { floate=1.0,t=1,n=1; while(fabs(1/t)>1e-6) { e=e+1/t; n=n+1; t=t*n; } printf("e=%f\n",e); } 8. main() { inti,j; for(i=3;i<=0;i--){ printf("*"); for(j=0;j<=2*i;j++) printf(""); printf("*"); printf("\n"); } 9. #include main() {inti,a,b,c,n=0; for(i=100;i<=999;i++){ a=i%100; c=i%10; b=i-a*100-c; if(i%11==0&&(a==b||b==c||c==a)) {printf("%d",i);n+=1; }} } 10. #include main(){ intd=0,a=2; floatm,s=0; do{ a=2*a; m=0.8*a; s=s+m; d++; }while(a<=100); printf("%f\n",s/d); } 第4章习题答案 五、编程题答案 1. #include"stdio.h" #defineN10 main() {floatscore[N],scoresum=0,averscore; inti,belownum=0; for(i=0;i {scanf(“%f”,&score[i]); scoresum=scoresum+score[i]; } averscore=scoresum/N; printf("Theaveragescoreis%f",averscore); for(i=0;i if(score[i] printf("Thereare%dstudentsbelowaveragescore.\n",belownum); } 2. #include"stdio.h" main() {intn1[10]={1,2,5,7,9,11,13,14,15,17}, n2[10]={0,3,4,6,8,10,12,15,16,20}, n3[20],i,j,t; printf("Thearrayn1is: \n"); for(i=0;i<10;i++) printf("%d\t",n1[i]); printf("\nThearrayn2is: \n"); for(i=0;i<10;i++) printf("%d\t",n2[i]); i=0;j=0;t=0; while(i<10&&j<10) {if(n1[i] while(i<10) {n3[t++]=n1[i++];} while(j<10) {n3[t++]=n2[j++];} printf("\nThenthen3arrayis: \n"); for(i=0;i<20;i++) printf("%d\t",n3[i]); } 3. #include"stdio.h" main() {intn20[20],i,sum,n; floataver[5]; for(i=0;i<20;i++)n20[i]=2*i+2; for(n=0;n<4;n++) {sum=0; for(i=n*5;i<5+n*5;i++) sum=sum+n20[i]; aver[n]=sum/5; } printf("\nThen20arrayis: \n"); for(i=0;i<20;i++) printf("%d\t",n20[i]); printf("\nTheaverarrayis: \n"); for(n=0;n<4;n++) printf("%f\t",aver[n]); } 4. #include"stdio.h" main() {chara[30],b[30]; intla,lb; printf("inputstringa: "); gets(a); printf("stringais%s\n",a); printf("inputstringb: "); gets(b); printf("stringbis%s\n",b); la=0;lb=0; while(a[la]! ='\0')la++; while(b[lb]! ='\0')lb++; printf("\nla=%d\nlb=%d\n",la,lb); lb=0; while(b[lb]! ='\0'&&lb<5)a[la++]=b[lb++]; printf("\nthenstringais%s\n",a); } 5. #include"stdio.h" main() {charstr[50]; inti=0,up=0,down=0; printf("inputastring: "); gets(str); printf("thestringis: %s\n",str); while(str[i]! ='\0') {if(str[i]>=’A’&&str[i]<=’Z’)up++; if(str[i]>=’a’&&str[i]<=’z’)down++; i++; } printf("Capletter'numberis%d\nLowletter'numberis%d",up,down); } 6. #include"stdio.h" main() {charstr1[30],str2[30],test[30]; intl1,l2,i,t,pos=-1; printf("inputstr1: "); gets(str1); printf("inputstr2: "); gets(str2); printf("\nstr1is: %s\nstr2is: %s",str1,str2); l1=strlen(str1);l2=strlen(str2); printf("\nl1is: %d\nl2is: %d\n",l1,l2); for(t=0;t<=(l1-l2);t++) {for(i=0;i test[i]=str1[i+t]; if(strcmp(test,str2)==0) pos=t; } if(pos==-1||pos==l1)printf("Notfound\n"); elseprintf("Foundat%d\n",pos); } 7. #include"stdio.h" main() {inta[5][5]={{2,6,2,1,6},{0,5,0,1,8},{7,4,9,1,2},{9,4,2,6,5},{5,8,2,1,8}}; inti,j,sum; printf("The5*5arrayis: \n"); for(i=0;i<5;i++) {for(j=0;j<5;j++)printf("%d",a[i][j]); printf("\n"); } sum=0; for(i=0;i<5;i++) for(j=0;j<5;j++) if(i==0||i==4||j==0||j==4)sum+=a[i][j]; printf("\nThesumis: %d",sum); } 8. #include"stdio.h" main() {inta[20][20]; inti,j; for(i=0;i<20;i++) for(j=0;j<20;j++) {if(i==0||i==19||j==0||j==19||i==j||(i+j)==19)a[i][j]=1; elsea[i][j]=0; } printf("Thearrayis: \n"); for(i=0;i<20;i++) {for(j=0;j<20;j++)printf("%d",a[i][j]); printf("\n"); } } 9. #include"stdio.h" main() { inta[4][5]={{8,5,1,6,9},{8,5,5,4,3},{2,5,1,6,9},{1,7,1,9,0}},i,j,sum=0; floataver; printf("Thearrayis: \n"); for(i=0;i<4;i++) {for(j=0;j<5;j++){printf("%d",a[i][j]);sum+=a[i][j];} printf("\n"); } aver=sum/(4*5); printf("Theaverageofthearrayis: %f\nThenumberbelowisaboveaverage: \n",aver); for(i=0;i<4;i++) for(j=0;j<5;j++) if(a[i][j]>aver)printf("%d",a[i][j]); } 10. #include"Stdio.h" main() {charch[5]="****\n",blank=''; inti,num; for(i=0;i<5;i++) {for(num=0;num printf("%s",ch); } } 第5章习题答案 五、编程题 1.#include intmax(intx,inty,intz) {intt; if(x>y) t=x; elset=y; if(t elsereturnt; } main() {inta,b,c; scanf("%d,%d,%d",&a,&b,&c); printf("themaxis: %d\n",max(a,b,c)); } 2. #include doubletri_area(floata,floatb,floatc)/*求三角形的面积*/ { doubles; s=(a+b+c)/2; return(sqrt(s*(s-a)*(s-b)*(s-c))); } main() { floata,b,c,area; printf("pleaseinputthesidesofatriangle: "); scanf("%f%f%f",&a,&b,&c); area=tri_area(a,b,c); printf("theareais: %6.2f",area); } 3. #include #include ascll_max() {inti; charmax,a[10]={0}; for(i=0;i<10;i++)scanf("%c",&a[i]); for(i=0;i<10;i++)if(a[i]>max)max=a[i]; printf("%c",max); } main() {ascll_max(); } 4. #include #include #include floatf() {ints=1; floati,n=1,d=0,m; scanf("%f",&n); for(i=1;i returnd; } main() {floats; s=f(); printf(“%f\n”,s); } 5.#include #include intrunnian(intb) {intc; if(b%100! =0&&b%4==0||b%100==0&&b%400! =0)c=1; elsec=0; return(c); } main() {inta,is_not=10; scanf("%d",&a); is_not=runnian(a); printf("%d",is_not); } 6. #include"stdio.h" main() {charc1,c2,c3,c4; printf("Input4characters: "); c1=getchar(); c2=getchar(); c3=getchar(); c4=getchar(); s(4,c1,c2,c3,c4); } s(n,a,b,c,d) intn; chara,b,c,d; { switch(n) { case4: s(3,a,b,c,d); s(3,b,a,c,d); s(3,c,a,b,d); s(3,d,a,b,c); break; case3: s(2,a,b,c,d); s(2,a,c,b,d); s(2,a,d,b,c); break; case2: s(1,a,b,c,d); s(1,a,b,d,c); break; case1: printf("%c%c%c%c\n",a,b,c,d); } } 7.#include #include voidconverse(charch[]) {inti=0; gets(ch); while(ch[i]! ='\0') {if(ch[i]>='a'&&ch[i]<='z')ch[i]-=32;i++;} } main() {charch[80]; converse(ch); puts(ch); } 8.#include #include ou_shu(inta,intb) {inti; if(a>=b) printf("请输入a,b使a,b满足a for(i=a+1;i {if(i%2==0) printf("%d\n",i);} } main() {inta,b; scanf("%d,%d",&a,&b); ou_shu(a,b); } 9.#include #include dm(intn,intm) {intp,r,temp; if(n {temp=n;n=m;m=temp;} p=m*n; while(m! =0)/*求最大公约数*/ {r=n%m;n=m;m=r; } printf("H.C.F=%d\n",n); printf("L.C.D=%d\n",p/n); } main() {inta,b; printf("inputtwointegers: "); scanf("%d,%d",&n,&m); dm(a,b); } 10. .#include intf(intn) {inti; if(n==1)return1; elseif(n==2)return1; elseif(n>2)returnf(n-1)+2*f(n-2); } main() {intn; scanf(“%d”,&n); printf("f(%d)=%d\n",n,f(n)); } 第6章习题答案 三、编写程序 1.#include #defineS(x,y)intt;t=x;x=y;y=t; main() { intx,y; scanf("%d,%d",&x,&y); S(x,y); printf("x=%d,y=%d",x,y); return; } 2.if(LEAP_YEAR(year))printf("%disaleapyear",year); elseprintf("%disnotleapyear",year); #defineLEAP_YEAR(y)(year%4! =0||year%100==0)&&year%400! =0/*闰年的条件做字符串*/ #include main() { intyear; scanf("%d",&year); if(LEAP_YEAR(year))printf("%disaleapyear",year); elseprintf("%disnotleapyear",year); } 第7章习题答案 五.编程题 1. swap(int*pt1,int*pt2) { inttemp; temp=*pt1; *pt1=*pt2; *pt2=temp; } exchange(int*q1,int*q2,int*q3) { if(*q1<*q2)swap(q1,q2); if(*q1<*q3)swap(q1,q3); if(*q2<*q3)swap(q2,q3); } main() { inta,b,c,*p1,*p2,*p3; scanf("%d,%d,%d",&a,&b,&c); p1=&a;p2=&b;p3=&c; exchange(p1,p2,p3); printf("\n%d,%d,%d,\n",a,b,c); } 2. defineN10 voidsort(int*p,intn) { inti,j,k,temp; for(i=0;i { k=i; for(j=i+1;j if(*(p+j)<*(p+k))k=j; temp=*(p+k); *(p+k)=*(p+i); *(p+i)=temp; } } main() { inta[N],i; printf("input%dint: \n",N); for(i=0;i scanf("%d",&a[i]); sort(a,N); printf("thesortedarray: \n"); for(i=0;i printf("%d",a[i]); } 3. #include #include voidmain(intargc,char*argv[]) { charstr[100]; inti=0,max=0,min=0,num=0,nul=0,other=0; gets(str); for(i=0;str[i];i++) {if(str[i]>=65&&str[i]<=90)max++; elseif(str[i]>=97&&str[i]<=122)min++; elseif(str
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 习题 答案