改正后的程序:
#include
char ch,c1,c2;
printf(\ ch=getchar();
if((ch>='a')&&(ch<='z')) ch-=32; c1=ch-1; c2=ch+1; if(ch=='A') c1=ch+25; else if(ch=='Z') c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar('\\n'); }
(2)下列程序的功能为:输入3个整数后,输出其中最大值。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c保存。
#include \
该程序的运行结果: main()
请输入3个整数: {
5 2 7 int a,b,c,max;
3个数中最大者为:7 printf (\请输入3个整数:\\n\
scanf (\
max=a; if (c>b)
{ if (b>a) max=c;} /* c>b>a */ else /* b>c */ {if (c>a) max=b;} /* b>c>a */ printf(\个数中最大者为:%d\\n\}
改正后的程序:
#include \main() {
int a,b,c,max;
11
printf (\请输入3个整数:\\n\scanf (\max=a; if (c>b)
{ if (c>a) max=c;} else {if (b>a) max=b;} printf(\个数中最大者为:%d\\n\}
(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在错误,以实现其功能。程序以文件名sy4_3.c保存。 #include \main() {
char m;
printf(“input the month number:\\n”); 该程序的运行结果: scanf (“%c”,&m); input the month number: switch (m) 2 { Feb case 1:printf (“Jan”); case 2:printf (“Feb”); case 3:printf (“Mar”); case 4:printf (“Apr”); } }
改正后的程序:改法一
#include \main() {
char m;
printf(\ scanf (\%d\ switch (m) {
case 1:printf (\break; case 2:printf (\break; case 3:printf (\;break; case 4:printf (\ } }
改法二
12
#include \main() {
char m;
printf(\ scanf (\ switch (m) {
case ?1?:printf (\break; case ?2?:printf (\break; case ?3?:printf (\;break; case ?4?:printf (\ } }
2.程序填空
(1) 下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。
若该字符是数字 输出字符串\若该字符是大写字母 输出字符串\若该字符是小写字母 输出字符串\
若该字符是其他字符 输出字符串\,@,?\
补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。 #include
_____ printf(\______
else if(___c>='A' && c <='Z'______) printf(\
____ else if _______('a'<=c&&c<='z') printf(\
____ else __________________ printf(\,@,?\\n\
}
(2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c保存。
#include
printf(\
13
scanf(\ &a,&ch,&b ); switch(ch) {
case '+':d=a+b; printf(\ break;
case '-':d=a-b; printf(\ break;
case '*':d=a*b; printf(\ break; case '/': if( b==0 ) printf(\ else printf(\ float )a/b); /*强制类型转换*/ break; default: printf(\ } }
(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_6.c保存。
#include \main() {float a,b;
printf(\请主持人输入时尚手机的实际价格\\n\该程序的运行结果: scanf(\请主持人输入时尚手机的实际价格 printf(\请观众猜时尚手机的价格\\n\1500 scanf(\ if( ab )
printf(\高了\\n\}
3.编程题
(1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值。程序以文件名sy4_7.c保存。
参考源程序
14
#include
int sum=0, a, b, c, max, min; long ji=0; float ave;
printf(\输入三个整数:(a=? b=? c=?)\\n\ scanf(\ sum=a+b+c; ave=sum/3.0; ji=a*b*c;
max=((a>b?a:b)>c)?(a>b?a:b):c; min=a; if (b printf(\ a*b*c=%ld ave=%.2f\ printf(\ min=%d\\n\} (2)有一分段函数如下,要求用scanf函数输入x的值,求y值并在屏幕上输出。程序以文件名sy4_8.c保存。 0 x<5 y = x-1 5≤x<15 6x2-1 x≥15 参考源程序 #include scanf(\ if(x<5) y=0; else if(x<15) y=x-1; else y=6*x*x-1; printf(\} (3)从键盘输入一个数字0~6,输出相应星期几的英文单词,其中数字0对应Sunday,数字1~6对应Monday~Saturday,如果输入的不是0~6的数字,则显示错误信息。程序以文件名sy4_9.c保存。 参考源程序 15