实验4 选择结构程序设计答案

更新时间:2023-11-25 03:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验4 选择结构程序设计

一、实验目的

1.掌握关系运算符和关系表达式的使用方法。 2.掌握逻辑运算符和逻辑表达式的使用方法。 3.掌握if语句、switch语句、条件运算符(?:)的使用方法。 4.掌握选择结构程序的设计技巧。

二、实验内容

1.改错题

(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_1.c保存。

#include main()

{ 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') c1=ch+25;// if(ch=='A')

else if(ch='Z') c2=ch-25;// else if(ch=='Z') putchar(c1); putchar(ch); putchar(c2); putchar('\\n'); } (2)下列程序的功能为:输入3个整数后,输出其中最大值。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_2.c保存。

#include main() {

int a,b,c,max;

printf (\请输入3个整数:\\n\scanf (\max=a; if (c>b)

{ if (b>a) max=c;} if (c>a) max=c; else

{if (c>a) max=b;} if (b>a) max=b;

printf(\3个数中最大者为:%d\\n\

}

(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_3.c保存。

#include main() {

char m;

printf(“input the month number:\\n”); scanf (\scanf (\%d\,&m); switch (m) {

case 1:printf (“Jan”);break; case 2:printf (“Feb”);break; case 3:printf (“Mar”);break; case 4:printf (“Apr”); } }

2.程序填空题

(1) 下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。 若该字符是数字,输出字符串\

若该字符是大写字母,输出字符串\若该字符是小写字母,输出字符串\

若该字符是其他字符,输出字符串\,@,?\

补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。

#include main() { char c;

scanf(_____\%c\_____); if(c>='0' &&c<='9') _ printf(\

else if(__c>='A' && c <='Z'____) printf(\___else if____(c>='a' &&c<='z')

printf(\

___else_______

printf(\,@,?\\n\

}

(2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c保存。

#include main()

{ int a,b,d; char ch;

printf(\ 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) /*如果除数为0,则显示出错提示信息 */ printf(\ else printf(\(float )a/b); /*强制类型转换*/ break; default: printf(\ } }

(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。补充完善程序,以实现其功能。程序以文件名sy4_6.c保存。

#include \main() {float a,b;

printf(\请主持人输入时尚手机的实际价格\\n\ scanf(\

printf(\请观众猜时尚手机的价格\\n\ scanf(\ if( ab) printf(\高了\\n\}

3.编程题

(1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值。程序以文件名sy4_7.c保存。

#include main() {

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

if(c

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 main() {

float x,y;

scanf(“%f”,&x); if(x<5) y=0;

else if(x<15) y=x-1; else

y=6*x*x-1; printf(“y=%f”,y); }

(3)从键盘输入一个数字0~6,输出相应星期几的英文单词,其中数字0对应Sunday,数字1~6对应Monday~Saturday,如果输入的不是0~6的数字,则显示错误信息。程序以文件名sy4_9.c保存。 #include main() {

int a;

printf(\:\ scanf(\ switch(a)

{case 0:printf(\ case 1:printf(\ case 2:printf(\ case 3:printf(\ case 4:printf(\ case 5:printf(\ case 6:printf(\ default:printf(\ } }

本文来源:https://www.bwwdw.com/article/fr0t.html

Top