int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个位、十位、百位、千位、万位和位数*/ printf(请输入一个整数(0~99999): ); scanf(%ld,num);
if (num9999) place=5;
else if(num999) place=4; else if(num99)place=3; else if(num9) place=2; else place=1;
printf(place =%d\\n, place); ten_thousand=num/10000; thousand=num/1000; hundred=num/100; ten=num0/10; indiv=num; switch(place) { case 5:
printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(\\n反序数字为: );
printf(%d%d%d%d%d\\n,indiv,ten,hundred,thousand,ten_thousand); break;
case 4: printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(\\n反序数字为: );
printf(%d%d%d%d\\n,indiv,ten,hundred,thousand); break;
case 3: printf(%d,%d,%d,hundred,ten,indiv);
【篇二:c语言程序设计第三版谭浩强课后习题答案完
整版】
p class=txt>************************** very good!
************************** mian()
{printf(“**************************”); printf(“\\n”);
printf(“very good!\\n”); printf(“\\n”);
printf(“**************************”);
} 1.6 a、b、 c
mian()
{int a,b,c,max;
printf(“请输入三个数a,b,c:\\n”); scanf(“%d,%d,%d”,a,b,c); max=a; if(maxb) max=b; if(maxc)
max=c; printf(%d”,max); }
第三章
3.6写出以下程序运行的结果。 main()
{char c1=’a’,c2=’b’,c3=’c’,c4=’\\101’,c5=’\\116’; printf(“a?%c\\tc%c\\tabc\\n”,c1,c2,c3); printf(“\\t\\b%c %c”,c4,c5); }
aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabc aㄩn
3.7 要将china 4 例
a后面第4个字母是ee代替achina应译为glmre。请编一程 cl、c2、c3、c4、c5c’、’h’、’i’、’n’、’ a
c1、c2、c3、c4、c5分别变为’g’、’l’、’m’、’r’、’e { char c1=’c’,c2=’h’,c3=’i’,c4=’n’,c5=’a’; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4;
printf(密码是%c%c%c%c%c\\n,c1,c2,c3,c4,c5); }
密码是glmre
3.9求下面算术表达式的值。 1x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7 2(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 12.5 23.5 3.10写出程序运行的结果。 main()
{int i,j,m,n; i=8; j=10; m=++i; n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n); }
911910
3.12 写出下面表达式运算后aa=12。设a和n都已定义为整型变量。 1a+=a2 a-=2 3 a*=2+3 4a/=a+a 5 a%=(n%=2)n的值等于5 6 a+=a-=a*=a
(1) 24 (2) 10 (3) 60(4) 0 (5) 0(6) 0
第四章 44若a=3b=4c=5x=1.2y=2.4z=-3.6u=51274n=128765c1=’a’c2=’b’。 a=_3_ _b=_4_ _c=_5
x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 main()
{int a=3,b=4,c=5;
long int u=51274,n=128765; float x=1.2,y=2.4,z=3.6; char c1=’a’,c2=’b’;
printf(a=- b=- c=-\\n,a,b,c); printf(x=%f,y=%f,z=%f\\n,x,y,z);
printf(x+y=%5.2f y+z=%5.2f z+x=%5.2f\\n,x+y,y+z,z+x); printf(u=%6ld n=%9ld\\n,u,n);
printf(%s %s %d%s\\n,c1=’a’,or,c1,(ascii)); printf(%s %s %d%s\\n,c2=’a’,or,c2,(ascii)); }
47用scanfa=3b=7x=8.5y=71.82 main()
{ int abfloat xy
char c1c2 scanfa=%d_b=ú b scanf_x=%f_y=%e,x
y scanf_c1=%c_c2=ì1
c2 }
a=3_b=7
_x=8.5_y=71.82 _c1=a_c2=a
48设圆半径r=1.5 h=3 积。 用
scanf main()
{float r,h,c1,sa,sb,va,vb; scanf(%f,%f,r,h); c1=2*3.14*r; sa=3.14*r*r; sb=4*sa;
va=4*3.14*r*r*r/3; vb=sa*h;
printf(c1=%.2f\\n,c1);
printf(sa=%.2f\\nsb=%.2f\\nva=%.2f\\nvb=%.2f\\n,sa,sb,va,vb); 4 9
{float f,c; scanf(%f,f); c=5*(f-32)/9;
printf(c=%.2f,c); }
410getchar函数读入两个字符给c1、 c2 个 c1、 c2
求输出c1和c2值的asciiputchar函数还是 printf char c1 c2
与 int c1 c2
#includestdio.h
main()
{char c1,c2;
c1=getchar();c2=getchar();
putchar(c1);putchar(’\\n’);putchar(c2);putchar(’\\n’); }
#includestdio.h main()
{char c1,c2;
c1=getchar();c2=getchar(); printf(c1=%d c2=%d\\n,c1,c2); printf(c1=%c c2=%c\\n,c1,c2); }
第五章 5.1 5.2 c10表 示。
00代表“假”。例如35 的值为“真”
系统给出35的值为1。
5.3 写出下面各逻辑表达式的值。设a=3b=4c=5。 (1) a+bcb==c (4) !(x=a)(y=b)0
(5) !(a+b)+c-1b+c/2 解
(1) 0 (2) 1 (3) 1 (4) 0 (5) 1
5.4 有3个整数a、b、 c
方法一
#include stdio.h main()
{ int a,b,c;
printf(请输入3);
scanf(%d,%d,%d,a,b,c); if(ab)
if(bc) printf(max=%d\\n,c); else printf(max=%d\\n,b);
谭浩强c语言程序设计第三版课后习题答案



