《C程序设计(第三版)》习题(编程题)解答
1.5
#include
{ printf (\ printf(\ Very Good!\\n\\n\
printf (\} 1.6
include
{int a,b,c,max;
printf(\ scanf(\ max=a; if (max
max=c;
printf(\}
3.7
#include
void main()
{char c1='C',c2='h',c3='i',c4='n',c5='a'; c1=c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;
printf(\}
4.7
#include
float x,y,z; char c1,c2;
scanf(\,&z);
1
printf(\,z); } 4.8
#include
float pi=3.141526;
printf(\请输入圆半径r,圆柱高h∶\
scanf(\ //要求输入圆半径r和圆柱高h l=2*pi*r; //计算圆周长l s=r*r*pi; //计算圆面积s sq=4*pi*r*r; //计算圆球表面积sq vq=3.0/4.0*pi*r*r*r; //计算圆球体积vq vz=pi*r*r*h; //计算圆柱体积vz printf(\圆周长为: l=%6.2f\\n\ printf(\圆面积为: s=%6.2f\\n\ printf(\圆球表面积为: sq=%6.2f\\n\ printf(\圆球体积为: v=%6.2f\\n\ printf(\圆柱体积为: vz=%6.2f\\n\ }
4.9
#include
{float c,f;
printf(\请输入一个华氏温度:\
scanf(\
c=(5.0/9.0)*(f-32); /*注意5和9要用实型表示,否则5/9值为0*/ printf(\摄氏温度为:%5.2f\\n\}
4.10
#include
char c1,c2;
printf(\请输入两个字符c1,c2:\c1=getchar();
c2=getchar();
printf(\用putchar语句输出结果为:\putchar(c1); putchar(c2); printf(\
2
printf(\用printf语句输出结果为:\printf(\}
1) #include
{
int c1,c2; /*整型定义*/
printf(\请输入两个整数c1,c2:\ scanf(\ printf(\按字符输入结果:\\n\
printf(\
printf(\按ASCII码输入出结果为:\\n\ printf(\}
2) #include
{
char c1,c2; /*定义字符型变量*/ int i1,i2; /*定义整型变量*/ printf(\请输入两个整数c1,c2:\ scanf(\
i1=c1; /*赋值给整型变量*/ i2=c2;
printf(\按字符输入结果:\\n\ printf(\
printf(\按整数输入出结果:\\n\ printf(\}
3) #include
{
char c1,c2; /*定义为字符型*/ int i1,i2; /*定义为整型*/ printf(\请输入两个整数i1,i2:\
scanf(\
c1=i1; /*将整数赋值给字符变量*/ c2=i2;
printf(\按字符输入结果:\\n\ printf(\
printf(\按整数输入出结果:\\n\ printf(\}
3
5.4
方法一: #include
int a,b,c;
printf(\请输入三个整数:\ scanf(\ if (a
printf(\ else
printf(\ else if (a printf(\ else printf(\} 方法二: #include { int a,b,c,temp,max; printf(\请输入三个整数:\ scanf(\ temp=(a>b)?a:b; /*将a和b中的大者存入temp中*/ max=(temp>c)?temp:c; /*将a和b中的大者与c比较,取最大者*/ printf(\三个整数的最大数是%d\\n\} 5.5 #include printf(\输入x:\ scanf(\ if(x<1) /* x<1 */ { y=x; printf(\ y=x=%d\\n\ } else if(x<10) /* 1= { y=2*x-1; printf(\ y=2*x-1=%d\\n\} else /* x>=10 */ 4 } 5.6 { y=3*x-11; printf(\ y=3*x-11=%d\\n\} #include char grade; printf(\请输入学生成绩:\ scanf(\ while (score>100||score<0) {printf(\输入有误,请重输\ scanf(\} switch((int)(score/10)) {case 10: case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E'; } printf(\成绩是 %5.1f,相应的等级是%c.\\n \} 5.7 #include long int num; int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个位,十位,百位,千位,万位和位数*/ printf(\请输入一个整数(0-99999):\ scanf(\ if (num>9999) place=5; 5