tceic.com
学霸学习网 这下你爽了
赞助商链接
当前位置:首页 >> 工学 >>

C语言程序设计第三版谭浩强课后习题答案完整版


C 程序设计第三版答案
1.5 #include <stdio.h> void main() { printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf(" Very good! printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); }

\n");

1.6 #include <stdio.h> void main() { float max(float x,float y,float z); float a,b,c; printf("请分别输入 a,b,c:\n"); scanf("%f,%f,%f",&a,&b,&c); printf("max=%f",max(a,b,c)); } float max(float x,float y,float z) { float m,n; m=x>y? x: y; n=m>z? m: z; return(n); }

3.6 #include <stdio.h> void main() { char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’; printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c\n”,c4,c5);

} 3.9.1 #include <stdio.h> void main() { double x=2.5,y=4.7,z; int a=7; z=x+a%3*(int)(x+y)%2/4; printf("该表达式的值为:%f",z);

} 3.9.2 #include <stdio.h> void main() { int a=2,b=3; float x=3.5,y=2.5,z; z=(float)(a+b)/2+(int)x%(int)y; printf("该表达式的值为:%f",z); }

4.5 #include <stdio.h> void main() { int a=5,b=7; double x=67.8564,y=-789.124; char c='A'; long n=1234567; unsigned u=65535; printf("%d%d\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n",x,y); printf("%-10f,%-10f\n",x,y); printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%10.2e\n",x,y); printf("%c,%d,%o,%x\n",n,n,n); printf("%ld,%lo,%x\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u);

printf("%s,%5.3s\n","COMPUTER","COMPUTER"); }

4.6 #include <stdio.h> void main() { int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf(" %f %e",&x,&y); scanf(" %c %c",&c1,&c2); }

4.7 #include<stdio.h> void main() { int a,b; float x,y,z; char c1,c2; scanf("%5d%5d",&a,&b); scanf("%f%f%*f%f",&x,&y,&z); scanf("%c%c",&c1,&c2); }

4.8 #include <stdio.h> #define pi 3.14 void main() { float r,h,l,s1,s2,v1,v2;

printf("请输入r,h的值:\n"); scanf("%f,%f",&r,&h); l=2*pi*r; s1=pi*r*r; s2=4*s1; v1=4/3*pi*r*r*r; v2=s1*h; printf("圆周长为:%.2f\n",l); printf("圆面积为:%.2f\n",s1); printf("圆球表面积为:%.2f\n",s2); printf("圆球体积为:%.2f\n",v1); printf("圆柱体积为:%.2f\n",v2); }

5.5 #include <stdio.h> void main() { float x,y; printf("请输入 x 的值:\n"); scanf("%f",&x); if(x<1) y=x; else if(x>=1&&x<10) y=2*x-1; else y=3*x-11; printf("x 与 y 的值分别为:\n%f,%f",x,y); printf("\n"); }

5.6 #include <stdio.h> void main()

{ float b; int a; printf("请输入该同学的成绩:\n"); scanf("%f",&b); while (b<0||b>100) { printf("输入有误,请重新输入:\n"); scanf("%f",&b); } a= int(b/10); if(a<6) a=5; switch(a) { case 10: case 9: printf("该同学为等级:A");break; case 8: printf("该同学为等级:B");break; case 7: printf("该同学为等级:C");break; case 6: printf("该同学为等级:D");break; case 5: printf("该同学为等级:E");break; } }

#include <stdio.h> #include <math.h> void main() { int x,y,m,n,i=1,j=0; printf("请给出一个不多于5位的正整数:\n"); scanf("%d",&x); while(x<=0||x>=100000) { printf("输入有误\n 请给出一个不多于5位的正整数:\n"); scanf("%d",&x); } for(n=0;n<5;n++) { y=int(x/pow(10,n));

if(y>0&&y<10) m=n+1; } printf("它是%d 位数\n",m); printf("从高到低位依次为\n"); do { printf(" %d",int(x/pow(10,m-i))%10); i++; } while(m-i>=0); printf("\n 逆序输出为\n"); do { printf(" %d",int(x/pow(10,j))%10); j++; } while(j-m<0); printf("\n"); }

6.1 输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 #include <stdio.h> void main() { int m,n,i,j; printf("请分别输入 m,n 的值:\n"); scanf("%d,%d",&m,&n); for(i=1;i<=m;i++) { if(m%i==0&&n%i==0)

j=i; } printf("这两个整数的最大公约数是:%d",j); for(i=j;;i++) { if(i%m==0&&i%n==0) break; } printf("这两个整数的最小公倍数数是:%d",i); printf("\n"); }

6.2 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的 个数。 #include <stdio.h> void main() { int i=0,j=0,k=0,x=0; char c; printf("请输入一行字符串:\n"); while((c=getchar())!='\n') { if(c>='A'&&c<='Z'||c>='a'&&c<='z') i++; else if(c==' ') j++; else if(c>='0'&&c<='9') k++; else x++; } printf("英文字母、 空格、 数字、 其他字符的个数分别为: %d,%d,%d,%d,",i,j,k,x); printf("\n"); }

6.3 求 Sn=a+aa+aaa+…+aa…a 之值,其中 a 是一个数字。例如:2+22+222+ 2222+22222(此时 n=5) ,n 由键盘输入。 #include<stdio.h> #include<math.h> void main() { int i,n; int sum=0,s=0; printf("请输入 n 的值:\n"); scanf("%d",&n); while(n<1) { printf("请重新输入 n 的值:\n"); scanf("%d",&n); } for(i=0;i<n;i++) { s+=pow(10,i); sum+=2*s; }

printf("sum=%d\n",sum); }

6.8 题目:有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前 20 项之和。

#include<stdio.h>

void main() { int a=1,b=1,i; float sum=0.0;

for(i=0;i<20;i++) { a=a+b; b=a-b; sum+=(float)a/b; } printf("这个数列前二十项之和为:\n%f",sum); printf("\n"); }

7.2 #include<stdio.h> void main() { int i,j,t,a[10]; printf("请输入十个整数:\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(j=1;j<10;j++) for(i=0;i<10-j;i++) if(a[i]<a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("这十位数从大到小排列为:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); }

7.3 #include<stdio.h> void main() {

int i,j,m,n,a[3][3]; printf("请输入 3*3 的整形矩阵\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); m=a[0][0]+a[1][1]+a[2][2]; n=a[0][2]+a[1][1]+a[2][0]; printf("3*3 的整形矩阵对角线元素之和为:\n"); printf("%d,%d",m,n);

} 7.4 #include<stdio.h> void main() { static int a[10]={1,5,6,10,20,24,55,58,64}; int i,t; printf("请输入一个数:\n"); scanf("%d",&a[9]); for(i=9;i>0;i--) if(a[i]<a[i-1]) { t=a[i-1]; a[i-1]=a[i]; a[i]=t; } for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); }

7.8 #include<stdio.h> void main() { int a[5][5],b[5],c[5],d[5][5]; int i,j,k,l; printf("请输入 5*5 的整型数组\n");

for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&d[i][j]); for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=d[i][j]; for(i=0,k=0;i<5;i++,k++) for(j=0;j<4;j++) { if(a[i][j]>=a[i][j+1]) b[k]=a[i][j+1]=a[i][j]; else b[k]=a[i][j+1]; } for(j=0,l=0;j<5;j++,l++) for(i=0;i<4;i++) { if(a[i][j]<=a[i+1][j]) c[l]=a[i+1][j]=a[i][j]; else c[l]=a[i+1][j]; } for(i=0,k=0;i<5;i++,k++) for(j=0,l=0;j<5;j++,l++) if(d[i][j]-b[k]==0) { if(d[i][j]-c[l]==0) printf("鞍点为 d[%d][%d]=%d\n",i,j,d[i][j]); else printf("没有鞍点\n"); } }

7.10 #include<stdio.h> #include<string.h> void main() {

int i,j=0,k=0,l=0,m=0,n=0; char str0[301],str1[100],str2[100],str3[100]; gets(str1); gets(str2); gets(str3); strcat(str0,str1); strcat(str0,str2); strcat(str0,str3); for(i=0;str0[i]!='\0';i++) { if(str0[i]>='A'&&str0[i]<='Z') j++; else if(str0[i]>='a'&&str0[i]<='z') k++; else if(str0[i]>='0'&&str0[i]<='9') l++; else if(str0[i]==' ') m++; else n++; } printf("大写字母、小写字母、数字、空格以及其他字符的个数依次为:\n"); printf("%5d %7d %5d %6d %4d\n",j,k,l,m,n); printf("\n"); } 7.14 #include <stdio.h> #include <string.h> void main() { int i=0,resu; char s1[100],s2[100]; printf("\n 请输入 string1:"); gets(s1); printf("\n 请输入 string2:"); gets(s2); while(s1[i]==s2[i]&&s1[i]!='\0') i++; if(s1[i]=='\0'&&s2[i]=='\0') resu=0; else resu=s1[i]-s2[i]; printf("\n result:%d\n",resu); }

8.1 #include<stdio.h> void main() { int maxgy(int m,int n); int mingb(int o,int p); int a,b; printf("请输入两个正整数:a,b\n"); scanf("%d,%d",&a,&b); while(a<=0||b<=0) { printf("注:请输入两个正整数:a,b\n"); scanf("%d,%d",&a,&b); } printf("这两个数的最大公约数是:%d",maxgy(a,b)); printf("这两个数的最小公倍数是:%d",mingb(a,b)); printf("\n"); } int maxgy(int m,int n) { int i,k; for(i=1;i<=m;i++) if(m%i==0&&n%i==0) k=i; return k; } int mingb(int o,int p) { int j; for(j=o;;j++) if(j%o==0&&j%p==0) break; return j; }

8.3 #include<stdio.h> void main() {

int judss(int m); int a; printf("请输入一个正整数:"); scanf("%d",&a); while(a<=0) { printf("注:请输入一个正整数:"); scanf("%d",&a); } judss(a); printf("\n"); } int judss(int m) { int i; for(i=2;i<m;i++) if(m%i==0) break; if(i<m) return printf("这个数不是素数"); else return printf("这个数是素数"); }

8.5 #include<stdio.h> #include<string.h> void main() { char fx(char str1[100]); char str0[100]; printf("请输入一个字符串:\n"); gets(str0); fx(str0); puts(str0); } char fx(char str1[100]) { int i,j,k=strlen(str1); char str2[100]; strcpy(str2,str1);

for(i=0,j=k-1;j>-1;i++,j--) str1[i]=str2[j]; return str1[100]; }



推荐相关:

C语言设计谭浩强第三版的课后习题答案

C 语言设计谭浩强第三版课后习题答案 1.5 请参照本章例题,编写一个 C 程序,输出以下信息: main() { printf(" *** \n"); printf("\n"); printf(" V...


《C语言程序设计》课后习题答案(第四版)谭浩强

C语言程序设计课后习题答案(第四版)谭浩强 - 第 1 章程序设计和 C 语言 1 1.1 什么是计算机程序 1 1.2 什么是计算机语言 1 1.3C 语言的发展及其...


C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强课后习题答案完整版_计算机软件及应用_IT/计算机_专业资料。答案 1.5 #include <stdio.h> void main() { printf("* * * * * * ...


《C语言程序设计》课后习题答案()谭浩强

C语言程序设计课后习题答案()谭浩强 - 第 1 章程序设计和 C 语言 1 1.1 什么是计算机程序 1 1.2 什么是计算机语言 1 1.3C 语言的发展及其特点 3 ...


C语言程序设计+谭浩强+第三版+课后习题答案

C语言程序设计+谭浩强+第三版+课后习题答案_电脑基础知识_IT/计算机_专业资料。1.5 请参照本章例题,编写一个 C 程序,输出以下信息: *** Very Good! *** 解...


C语言程序设计(谭浩强)第四版_课后答案

C语言程序设计(谭浩强)第四版_课后答案 - 第一章 程序设计和 C 语言 【第 15 页】 1-5 #include <stdio.h> int main ( ) { printf (***...


C语言设计谭浩强第三版的课后习题答案

C语言设计谭浩强第三版课后习题答案 - C 语言设计谭浩强第三版课后习题答案(一) 1.5 请参照本章例题,编写一个 C 程序,输出以下信息: *** ...


《C语言程序设计》课后习题答案(第四版)谭浩强

C语言程序设计课后习题答案(第四版)谭浩强_理学_高等教育_教育专区。第 1 章程序设计和 C 语言 1 1.1 什么是计算机程序 1 1.2 什么是计算机语言 1 1...


《C语言程序设计》课后习题答案(第四版)谭浩强

C语言程序设计课后习题答案(第四版)谭浩强 - 第 1 章程序设计和 C 语言 1 1.1 什么是计算机程序 1 1.2 什么是计算机语言 1 1.3C 语言的发展及其...


C语言程序设计_第三版_谭浩强主编第6—8章课后习题答案

C语言程序设计_第三版_谭浩强主编第6—8章课后习题答案_理学_高等教育_教育专区。C语言程序设计_第三版_谭浩强主编第6—8章课后习题答案 ...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com