实验4 选择结构程序设计答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ave=sum/3.0;
ji=a*b*c;
max=((a>b?a:b)>c)?(a>b?a:b):c;
min=a;
if (b<min)
min=b;
if(c<min)
min=c;
printf("a+b+c=%d a*b*c=%ld ave=%.2f", sum,ji, ave);
printf("\nmax=%d min=%d\n", max, min);
scanf("%d%c%d",&a,&ch,&b);/*输入数学表达式*/
switch(ch)
{
case '+':d=a+b;
printf("%d+%d=%d\n",a,b,d);
break;
case '-':d=a-b;
printf("%d-%d=%d\n",a,b,d);
break;
case '*':d=a*b;
Fra Baidu bibliotekmain()
{
int a;
printf("Input a number(0~6):");
scanf("%d",&a);
switch(a)
{case 0:printf("Sunday\n");break;
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
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 <stdio.h>
main()
{char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')||(ch<='z'))// if((ch>='a')&&(ch<='z'))
ch-=32;
c1=ch-1;
c2=ch+1;
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
default:printf("ERROR!\n");
default:
printf("Input Operator error!\n");
}
}
(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。补充完善程序,以实现其功能。程序以文件名sy4_6.c保存。
#include "stdio.h"
main()
{float a,b;
printf("请主持人输入时尚手机的实际价格\n");
#include<stdio.h>
main()
{
int a,b,c,max;
printf ("请输入3个整数:\n");
scanf ("%d%d%d",&a,&b,&c);
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;
}
2.程序填空题
(1)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。
若该字符是数字,输出字符串"0-9"
若该字符是大写字母,输出字符串"A-Z"
若该字符是小写字母,输出字符串"a-z"
若该字符是其他字符,输出字符串"!,@,…"
补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。
}
(2)有一分段函数如下,要求用scanf函数输入x的值,求y值并在屏幕上输出。程序以文件名sy4_8.c保存。
0,x<5
y=x-1,5≤x<15
6x2-1,x≥15
#include <stdio.h>
main()
{
float x,y;
scanf(“%f”,&x);
if(x<5)
y=0;
else if(x<15)
printf("3个数中最大者为:%d\n",max);
}
(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_3.c保存。
#include<stdio.h>
main()
{
char m;
printf(“input the month number:\n”);
}
}
#include <stdio.h>
main()
{
int sum=0, a, b, c, max, min;
long ji=0;
float ave;
printf("输入三个整数:(a=? b=? c=?)\n");
scanf("a=%d b=%d c=%d", &a, &b, &c);
sum=a+b+c;
scanf ("%c",&m);scanf ("%d",&m);
switch (m)
{
case 1:printf (“Jan”);break;
case 2:printf (“Feb”);break;
case 3:printf (“Mar”);break;
case 4:printf (“Apr”);
}
实验
一、实验目的
1.掌握关系运算符和关系表达式的使用方法。
2.掌握逻辑运算符和逻辑表达式的使用方法。
3.掌握if语句、switch语句、条件运算符(?:)的使用方法。
4.掌握选择结构程序的设计技巧。
二、实验内容
1.改错题
(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_1.c保存。
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<stdio.h>
printf("%d*%d=%d\n",a,b,d);
break;
case '/':
if(b= =0)/*如果除数为0,则显示出错提示信息*/
printf("Divisor is zero\n");
else
printf("%d/%d=%f\n",a,b,(float)a/b);/*强制类型转换*/
break;
printf("a-z\n");
___else_______
printf("!,@,…\n");
}
(2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c保存。
#include <stdio.h>
main()
{
int a,b,d;
char ch;
printf("Please input a expression:");
scanf("%f",&b);
printf("\n\n请观众猜时尚手机的价格\n");
scanf("%f",&a);
if(a<b)
printf("低了\n");
if(a= =b)
printf("猜对了!\n");
if(a>b)
printf("高了\n");
}
3.编程题
(1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值。程序以文件名sy4_7.c保存。
#include <stdio.h>
main()
{char c;
scanf(_____"%c", &c_____);
if(c>='0' &&c<='9')
_printf("0-9\n");
else if(__c>='A' && c <='Z'____)
printf("A-Z\n");
___else if____(c>='a' &&c<='z')
ji=a*b*c;
max=((a>b?a:b)>c)?(a>b?a:b):c;
min=a;
if (b<min)
min=b;
if(c<min)
min=c;
printf("a+b+c=%d a*b*c=%ld ave=%.2f", sum,ji, ave);
printf("\nmax=%d min=%d\n", max, min);
scanf("%d%c%d",&a,&ch,&b);/*输入数学表达式*/
switch(ch)
{
case '+':d=a+b;
printf("%d+%d=%d\n",a,b,d);
break;
case '-':d=a-b;
printf("%d-%d=%d\n",a,b,d);
break;
case '*':d=a*b;
Fra Baidu bibliotekmain()
{
int a;
printf("Input a number(0~6):");
scanf("%d",&a);
switch(a)
{case 0:printf("Sunday\n");break;
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
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 <stdio.h>
main()
{char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')||(ch<='z'))// if((ch>='a')&&(ch<='z'))
ch-=32;
c1=ch-1;
c2=ch+1;
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
default:printf("ERROR!\n");
default:
printf("Input Operator error!\n");
}
}
(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。补充完善程序,以实现其功能。程序以文件名sy4_6.c保存。
#include "stdio.h"
main()
{float a,b;
printf("请主持人输入时尚手机的实际价格\n");
#include<stdio.h>
main()
{
int a,b,c,max;
printf ("请输入3个整数:\n");
scanf ("%d%d%d",&a,&b,&c);
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;
}
2.程序填空题
(1)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。
若该字符是数字,输出字符串"0-9"
若该字符是大写字母,输出字符串"A-Z"
若该字符是小写字母,输出字符串"a-z"
若该字符是其他字符,输出字符串"!,@,…"
补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。
}
(2)有一分段函数如下,要求用scanf函数输入x的值,求y值并在屏幕上输出。程序以文件名sy4_8.c保存。
0,x<5
y=x-1,5≤x<15
6x2-1,x≥15
#include <stdio.h>
main()
{
float x,y;
scanf(“%f”,&x);
if(x<5)
y=0;
else if(x<15)
printf("3个数中最大者为:%d\n",max);
}
(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_3.c保存。
#include<stdio.h>
main()
{
char m;
printf(“input the month number:\n”);
}
}
#include <stdio.h>
main()
{
int sum=0, a, b, c, max, min;
long ji=0;
float ave;
printf("输入三个整数:(a=? b=? c=?)\n");
scanf("a=%d b=%d c=%d", &a, &b, &c);
sum=a+b+c;
scanf ("%c",&m);scanf ("%d",&m);
switch (m)
{
case 1:printf (“Jan”);break;
case 2:printf (“Feb”);break;
case 3:printf (“Mar”);break;
case 4:printf (“Apr”);
}
实验
一、实验目的
1.掌握关系运算符和关系表达式的使用方法。
2.掌握逻辑运算符和逻辑表达式的使用方法。
3.掌握if语句、switch语句、条件运算符(?:)的使用方法。
4.掌握选择结构程序的设计技巧。
二、实验内容
1.改错题
(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_1.c保存。
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<stdio.h>
printf("%d*%d=%d\n",a,b,d);
break;
case '/':
if(b= =0)/*如果除数为0,则显示出错提示信息*/
printf("Divisor is zero\n");
else
printf("%d/%d=%f\n",a,b,(float)a/b);/*强制类型转换*/
break;
printf("a-z\n");
___else_______
printf("!,@,…\n");
}
(2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c保存。
#include <stdio.h>
main()
{
int a,b,d;
char ch;
printf("Please input a expression:");
scanf("%f",&b);
printf("\n\n请观众猜时尚手机的价格\n");
scanf("%f",&a);
if(a<b)
printf("低了\n");
if(a= =b)
printf("猜对了!\n");
if(a>b)
printf("高了\n");
}
3.编程题
(1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值。程序以文件名sy4_7.c保存。
#include <stdio.h>
main()
{char c;
scanf(_____"%c", &c_____);
if(c>='0' &&c<='9')
_printf("0-9\n");
else if(__c>='A' && c <='Z'____)
printf("A-Z\n");
___else if____(c>='a' &&c<='z')