C语言程序设计第三版谭浩强课后习题答案解析完整版.docx
- 文档编号:4764915
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:19
- 大小:110.14KB
C语言程序设计第三版谭浩强课后习题答案解析完整版.docx
《C语言程序设计第三版谭浩强课后习题答案解析完整版.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第三版谭浩强课后习题答案解析完整版.docx(19页珍藏版)》请在冰豆网上搜索。
C语言程序设计第三版谭浩强课后习题答案解析完整版
1.5
#include
voidmain()
{
printf("*********************************\n");
printf("Verygood!
\n");
printf("*********************************\n");
}
1.6
#include
voidmain()
{
floatmax(floatx,floaty,floatz);
floata,b,c;
printf("请分别输入a,b,c:
\n");
scanf("%f,%f,%f",&a,&b,&c);
printf("max=%f",max(a,b,c));
}
floatmax(floatx,floaty,floatz)
{
floatm,n;
m=x>y?
x:
y;
n=m>z?
m:
z;
return(n);
}
3.6
#include
voidmain()
{
charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;
printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c%c\n”,c4,c5);
}
3.9.1
#include
voidmain()
{
doublex=2.5,y=4.7,z;
inta=7;
z=x+a%3*(int)(x+y)%2/4;
printf("该表达式的值为:
%f",z);
}
3.9.2
#include
voidmain()
{
inta=2,b=3;
floatx=3.5,y=2.5,z;
z=(float)(a+b)/2+(int)x%(int)y;
printf("该表达式的值为:
%f",z);
}
4.5
#include
voidmain()
{
inta=5,b=7;
doublex=67.8564,y=-789.124;
charc='A';
longn=1234567;
unsignedu=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
voidmain()
{
inta,b;
floatx,y;
charc1,c2;
scanf("a=%db=%d",&a,&b);
scanf("%f%e",&x,&y);
scanf("%c%c",&c1,&c2);
}
4.7
#include
voidmain()
{
inta,b;
floatx,y,z;
charc1,c2;
scanf("%5d%5d",&a,&b);
scanf("%f%f%*f%f",&x,&y,&z);
scanf("%c%c",&c1,&c2);
}
4.8
#include
#definepi3.14
voidmain()
{
floatr,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
voidmain()
{
floatx,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
voidmain()
{
floatb;
inta;
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)
{
case10:
case9:
printf("该同学为等级:
A");break;
case8:
printf("该同学为等级:
B");break;
case7:
printf("该同学为等级:
C");break;
case6:
printf("该同学为等级:
D");break;
case5:
printf("该同学为等级:
E");break;
}
}
#include
#include
voidmain()
{
intx,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
voidmain()
{
intm,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
voidmain()
{
inti=0,j=0,k=0,x=0;
charc;
printf("请输入一行字符串:
\n");
while((c=getchar())!
='\n')
{
if(c>='A'&&c<='Z'||c>='a'&&c<='z')i++;
elseif(c=='')j++;
elseif(c>='0'&&c<='9')k++;
elsex++;
}
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
#include
voidmain()
{
inti,n;
intsum=0,s=0;
printf("请输入n的值:
\n");
scanf("%d",&n);
while(n<1)
{
printf("请重新输入n的值:
\n");
scanf("%d",&n);
}
for(i=0;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 voidmain() { inta=1,b=1,i; floatsum=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 voidmain() {inti,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++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第三 版谭浩强 课后 习题 答案 解析 完整版