}
(3) 下列程序的功能为:通过键盘输入两个整数,分别存入变量x、y中,当x 该程序的运行结果: #include 请输入x,y: main() 3 5 { int x,y,t; 交换后的x:5 y:3 printf(\请输入x,y:\\n\; scanf(\ ; if (x 3.编程题 (1)编写一个程序实现如下功能:从键盘输入3个字符,然后在屏幕上分3行输出该3个字符。程序以文件名sy3_7.c保存。 该程序的运行结果: #include ABC main() A { B char c1,c2,c3; C c1=getchar(); c2=getchar(); c3=getchar(); putchar(c1); putchar('\\n'); putchar(c2); putchar('\\n'); putchar(c3); putchar('\\n'); } (2)编写一个程序实现如下功能:输入一元二次方程ax2+bx+c=0的系数a、b、c,求方程的根。要求:运行该程序时,输入a、b、c的值,分别使b2-4ac的值大于、等于和小于零,观察并分析运行结果。程序以文件名sy3_8.c保存。求根公式如下: 9 该程序的运行结果: a=1,b=3,c=2 x1=-1.00 x2=-2.00 . . #include {float a,b,c,disc,x1,x2,p,q; scanf(\ disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(\} 实验四 选择结构程序设计 (解答) 1.改错题 (1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c保存。 #include 该程序的运行结果: main() Enter a character:g { FGH char ch,c1,c2; printf(\ ch=getchar(); if((ch>='a')||(ch<='z')) // if((ch>='a')&&(ch<='z')) ch-=32; c1=ch-1; c2=ch+1; if(ch='A') // if(ch=='A') c1=ch+25; else if(ch='Z') // else if(ch=='Z') c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar('\\n'); } 10 改正后的程序: #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
相关推荐: