内容发布更新时间 : 2024/11/8 11:49:01星期一 下面是文章的全部内容请认真阅读。
完美WORD格式
char c1,c2;
scanf(\ scanf(\ scanf(\
printf(\
}
【分析与提示】在使用多个scanf函数输入数据时,第一个输入行末尾输入的回车被第二个scanf函数吸收,因此在第二、三个scanf函数的双引号后放置一个空格以抵消上行输入的回车键。若没有一个空格,则按上面输入的数据会出错。
【解答】运行输入:a=3, b=4<回车>
X=8, y=71.82<回车> C1=AC2=a<回车>
运行结果:a=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a
四.编程题
1.由键盘输入1个字母,输出其ASCII码值。 【分析与提示】将一个字符常数赋给一个字符变量,并不是把该字符本身放到内存单元中去,而是将该字符的ASCII代码放到内存单元中,因此,字符型数据也可以像整型数据那样使用,可以用来表示一些特定范围内的整数。所以int型与char型变量的值可以互换,分别用%c和%d不同格式输出就行了。
但是注意这种转换是有条件的。因为,char变量在内存占一个字节,而int整型变量占2个字节。当int型高位字节是0时,char与 int可以互换;若不是0,则不可以互换。例如,用%c格式输出时,取低位字节,高位字节被舍弃。
参考代码:
#include \main() { char ch; ch=getchar();
printf(\
}
【解答】运行输入:B <回车> 运行结果:B,66
2.从键盘上输入一个大写字母,把它转换成小写字母,然后显示出来。
【分析与提示】大写字母转换小写时ASCII码值+32,相反的,小写字母转换成大写字母时ASCII码值-32。
参考代码:
#include
main() {
char x1,x2; printf(\scanf(\x2=x1+32;
专业整理 知识分享
完美WORD格式
printf(\}
【解答】运行输入:A <回车>
运行结果:A,a
3.从键盘上输入两个实型数,求两数的和、差、积,输出结果时要求小数部分占两位。 【提示】结果要求保留2位小数,所以输出的结果格式为%.2f。 main() {
float x,y,a,b,c;
printf(\ scanf(\ a=x+y; b=x-y; c=x*y;
printf(\
printf(\
}
【解答】
运行输入:please input x,y:10,20<回车> 运行结果:x=10.000000,y=20.000000 x+y=30.00 x-y=-10.00 x*y=200.00
4.编写一个程序,求出给定半径r的圆以及内正n边形的面积,并且输出计算结果。r和n的值由用户输入。
【分析与提示】由数学知识得到: 半径为r圆的面积s??r,半径为r圆的内接正n边形的面积A?nrsin?/2,其中??2?/n
处理步骤:提示信息,接收参数值;计算圆的面积; 计算正n边形的面积;输出结果。
参考代码:
#include
float r,s,area;
printf(\scanf(\s=PI*r*r;
area=(n*r*r*sin(2*PI/n))/2.0; printf(\
22 专业整理 知识分享
完美WORD格式
return(0);
}
运行结果如下:
Please inout the radius and the N.; 1 5
S=3.14 A=2.38
5.已知华氏温度与摄氏温度之间的转换公式是:c?5/9?(F?32), 编写一个程序,
将用户输入的华氏温度转换成摄氏温度,并予以输出。
【分析与提示】首先要定义输入输出温度为浮点型,且5/9两数相除结果为整数,5/9的值为0,故不能写成5/9,而应写成(5.0/9.0)*(f-32)。结果要求保留2位小数,所以输出的结果格式为%5.2f。
参考代码: #include
printf(\ scanf(\
c=5.0/9*(f-32); /*不能写成5/9,两数相除结果为整数,5/9的值为0*/ printf(\: %.2f\ return(0);
}
【解答】运行结果如下:
please input the F: 75<回车> the C.te,[erature is: 23.89
6.由键盘输入5个学生的计算机成绩,计算他们的平均分并保留2位小数。 【分析与提示】方法与上题类似,同样是保留两位有效数字%6.2f。 参考代码:
main() {
int a,b,c,d,e; float total,aver;
printf(\\\n\scanf(\total=a+b+c+d+e; aver=total/5.0;
printf(\:%6.2f\\n\
}
【解答】运行输入:80,93,75,68,87 <回车>
运行结果:Average:80.60
7.编写将输入的英里转换为公里,每英里等于5380英尺,每英尺等于12英寸,每英寸等于2. 54厘米,每公里等于100 000厘米。
专业整理 知识分享
完美WORD格式
main() {
double mile,k;
printf(“enter mile:”); scanf(“%lf”,&mile); k=mile*5380*12*2.54/100000;
printf(“ %lf mile is %lf kilometer\\n”,mile,k); }
【解答】运行:enter mile:2↙
2.000000 mile is 3.279648 kilometer
第4章 选择结构程序设计
4.1 习题
一.填空题
1.已知a=3,b=4,c=5。则逻辑表达式a+b>c&&b= =c的值为 ,!(a>b)&&c||1的值为 ,!(a+b)+c-1&&b+c/2的值为 。 【分析与提示】本题考查运算符的优先级别。 【解答】0 ; 1 ; 1 二、运行程序写结果
1.下列程序运行的运行结果为 。 #include
{
int a=3,b=8,c=9,d=2,e=4; int min;
min=(a
min=(min min=(min min=(min printf(\,min); } 【分析与提示】本题程序的功能为:找出a,b,c,d,e中最小的值并输出。 【解答】Min is 2 2.若输入3,4<回车>,下列程序运行的运行结果为 ;若输入4,3<回车>,下列程序运行的运行结果为 。 #include int a,b,c; 专业整理 知识分享 完美WORD格式 printf(\,b: \); scanf(\,%d\,&a,&b); if(a>=b) {c=a*b; printf(\,a,b,c);} else {c=a/b; printf(\,a,b,c);} } 【分析与提示】本题程序的功能为:从键盘输入变量a,b,计算c的值(若a>=b,则c=a*b,若a 【解答】3/4=0 ; 4*3=12 3.下列程序运行的运行结果为 。 #include int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) {case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; } printf(\,b=%d\\n\,a,b); } 【分析与提示】本题中case 1:后面是一个switch语句,执行完该语句后,直接执行case 2:后面的语句。 【解答】a=2,b=1 三.编程题 1.输入一个字母,若为小写,则把它变成大写输出。 【分析与提示】小写字母的ASCII码值与其对应的大写字母的ASCII码值相差32。 参考代码: main( ) { char c; printf(\请输入一个字母\\n\scanf(\ if(c>=’a’&&c<=’z’) c=c-32; printf(\} 2. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可 专业整理 知识分享