C语言课后练习题答案第五章

  • 格式:doc
  • 大小:34.50 KB
  • 文档页数:6

作业四:简单程序设计

1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(B);如果字符串长度小于5,则输出按方式(C)。(5分)(重要)

A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出

C) 右对齐输出该字符串,左补空格 D) 输出错误信息

2. 阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为(D)。(5分)

main()

{ int x,y,z;

scanf(“%d%d%d”,&x,&y,&z);要和这里一样

printf(“x+y+z=%d\n”,x+y+z);

}

A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值

3. 根据下面的程序及数据的输入和输出形式,程序中输入数据的正确形式应该为(WXY)。(5分)

main()

{ char ch1,ch2,ch3; scanf(“%c%c%c”,&ch1,&ch2,&ch3);

printf(“%c%c%c”,ch1,ch2,ch3);

}

4.以下的输出结果是(x=1,y=2*sum*=3

10 Squard is : 100)。(5分)

main()

{ int x=1,y=2;

printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y);

printf(“10 Squared is : %d\n”,10*10);

}

5.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下:(20分)

a= 3 b= 4 c= 5

x=1.200000,y=2.400000,z=-3.600000

x+y= 3.6 y+z=-1.20 z+x=-2.40

u= 51274 n= 128765

c1=’a’ or 97(ascll)

c2=’b’ or 98(ascll)

main()

{ int a=3,b=4,c=5; float x=1.2,y=2.4,z=-3.6;

unsigned u=51274;

long n=128765;

char c1=’a’,c2=’b’;

printf(“a=%d b=%d c=%d\n”,a,b,c);

printf(“x=%f ,y=%f, z=%f\n”,x,y,z);

printf(“x+y=%3.1f y+z=%.2f z+x=%.2f\n”,x+y,y+z,z+x);

printf(“u=%u n=%9ld \n”,u,n);

printf(“c1=’%c’or %d (asc11) \n”,c1,c1);

printf(“c2=’%c’or %d (asc11) \n”,c2,c2);

}

6.请写出下面程序的输出结果。(20分)

main()

{ int a=5,b=7;

flat 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("%-10f,%-10f\n",x,y);

printf("%f,%f\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",c,c,c,c);

printf("%u,%o,%x,%d,",u,u,u,u);

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

}

57

5 7

67.856400_,-789.124000

67.856400,-789.124000

___67.86, _-789.12, 67.856400,-789.124000, 67.856400,-789.124000

6.785400e1, ___-7.89e2

A,65,101,41

65535,177777,ffff,-1,COMPUTER, __COM

7.用下面的scanf函数输入数据,使a=3,b=7,x=0.5,y=71.82,c1='A',c2='a',问在键盘上如何输入?(10分)

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);

printf("a=%d,b%d,x=%f,y=%f,c1=%d,c2=%c\n",a,b,x,y,c1,c2;

}

a=3_b=7_0.5_7.182e1Aa

8.用下面的scanf函数输入数据,使a=10,b=20,c1='A',c2='a',x=1.5,

y=-3,75,z=67.8,问在键盘上如何输入数据?(10分)

Scanf("%5d%d%c%c%f%f*f,%f",&a,&b,&c1,&c2,&x,&y,&z);

解:

main()

{

int a,b;float x,y,z;

char c1,c2;

scanf("%5d%5d%c%c%f%f*f,%f",&a,&b,&c1.&c2,&x,&y,&z);

printf("a=%d,b=%d,c1=5c,c2=%c,x=%6,.2f,y=6.2f,,z=6.2f\n"),a,b,c1,c2,x.,y,z);

}

10_20Aa1.5_-3.75*f,67.8

9.设圆的半径R=1.5,圆柱高H=3,求圆周长.面积.球表面积.球体积.圆柱体积.用scanf输入数据,输入数据,输出计算结果,输出时要求文字说明,取小数点后2位数字.请编程序。(20分)

#define Pi 3.14159 #include”stdio.h”

main()

{ float l,s, qs,qv ,ys,r,h;

Scanf(:%f,%f”,&r,&h);

l=2*Pi*r;

s=Pi*r*r;

qs=4*Pi*r*r;

qv=4.0/3*Pi*r*r*r;

ys=2*Pi*r*r+2*Pi*r*h;

printf(“l=%.2f,s=%.2f,qs=%.2f,qv=%.2f,ys=%.2f\n”,l,s,qs,qv,ys);

}