实验报告,共同进步(一)
作者:互联网
实验报告(一)
一、实验题目
选择(分支)结构程序设计
二、实验目的
1、进一步掌握运行一个C/C++语言程序的方法和步骤。
2、熟练使用if语句、if…else语句、switch 语句进行选择结构程序的设计。
3、熟练使用选择语句的嵌套。
4、养成良好的程序书写习惯。
三、实验内容与实现
1、三个整数a,b,c,由键盘输入这三个数,求三个数中最大的值。(找代码的错误)
#include<stdio.h>
main()
{
int a,b,c;
printf("input a,b,c:");
scanf("%d;%d;%d",&a,&b,&c);
if(a<b)
if(b<c)
printf("max=%d\n",c);
else
printf("max=%d\n",b);
else if(a<c)
printf("max=%d\n",c);
else
printf("max=%d\n",a);
}
分析程序及其错误:
该程序的原意应该是输出三个数的最大值,语法并没有错,但是由于在scanf("%d;%d;%d",&a,&b,&c);
中错误地打出了;
导致了无论如何输入都会输出第一个输入的数字。原因是在C语言中;代表着程序语句的结束,;之后的语句不予输入,所以一直只输入了一个数,那么该数永远是最大的。
更正后的代码应如下:
#include<stdio.h>
main()
{
int a,b,c;
printf("input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
if(b<c)
printf("max=%d\n",c);
else
printf("max=%d\n",b);
else if(a<c)
printf("max=%d\n",c);
else
printf("max=%d\n",a);
}
2、编写程序,输入一个百分制的成绩,要求输出成绩等级“A”、“B”,“C”,“D”,“E”。90分以上的为:“A”级,8089分的为“B”,7079分的为“C”,60~69分的为“D”,60分以下的为“E”。
设计代码:(两种,一个是if...else
语句一个是switch...case...default
语句)
#include<stdio.h>
int main()
{
double score;
printf("请输入分数:\n");
while(scanf("%lf",&score)!=EOF)
switch((int)(score/10))
{
case 10:printf("A\n");break;
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
运行截图如下:
#include<stdio.h>
int main()
{
float a;
while(scanf("%f",&a)!=EOF)
if(a>=0&&a<=100)
{
if(a>=90) printf("A\n");
else if(a>=80) printf("B\n");
else if(a>=70) printf("C\n");
else if(a>=60) printf("D\n");
else printf("E\n");
}
else printf("您输入的数不在范围内\n");
return 0;
}
运行截图如下:
核心代码:if...else
switch...case...default
while(scanf("%lf",&a)!=EOF)
if...else
switch...case...default
都是选择分支语句,就是给个条件,然后根据后面的语句进行操作,输出;while(scanf("%lf",&a)!=EOF)
是一种特殊的东西,我只知道是一个能够让你一直输入,不用反复结束、打开程序的语句;
标签:语句,...,scanf,else,case,共同进步,printf,实验报告 来源: https://blog.csdn.net/weixin_51589394/article/details/110822072