新人新人
C语言2017高考,英语将分为6个等级,A,B,C,D,E,F。现教育部规定英语总分为100分,其中成绩(成绩为整数)在区间为A等级,[80,90)为B等级,[70,80)为C等级,[60,70)为D等级,[40,60)为E等级,[0,40)为F等级。现要你编译一个程序来自动判别高考英语成绩等级。
标准输入,输入的第一行为一个正整数N,表示需要你计算等级的学生成绩数,接下来的N行,每行一个成绩k(0<=k<=100)
#include <stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if(a>=90&&a<=100)
{
printf("A");
}
else if(a>=80&&a<90)
{
printf("B");
}
else if(a>=70&&a<80)
{
printf("C");
}
else if(a>=60&&a<70)
{
printf("D");
}
else if(a>=40&&a<60)
{
printf("E");
}
else if(a>=0&&a<40)
printf("F");
return 0;
}
输入n个不会写>< 用循环啊
for,while,do-while都行 本帖最后由 风过无痕1989 于 2020-10-30 23:06 编辑
N个成绩可以用循环,后面的可以使用switch() 函数
#include <stdio.h>
int main()
{
double a; //多个学生的成绩,使用数组
int i;
for(i = 0;i<100;i++)
scanf("%lf",&a);
for(i = 0;i < 100;i++)
{
if(a >= 90 && a <= 100)
{
printf("A ");
}
else if(a >= 80 && a <90)
{
printf("B ");
}
else if(a >= 70 && a < 80)
{
printf("C ");
}
else if(a >= 60 && a < 70)
{
printf("D ");
}
else if(a >= 40 && a < 60)
{
printf("E ");
}
else if(a >= 0 && a < 40)
printf("F ");
}
return 0;
} 风过无痕1989 发表于 2020-10-30 22:53
N个成绩可以用循环,后面的可以使用switch() 函数
没有N的输入呀 本帖最后由 风过无痕1989 于 2020-10-31 00:24 编辑
西柚西柚 发表于 2020-10-30 23:38
没有N的输入呀
k(0<=k<=100),这个不是吗?让你输入 K个人的成绩呢,这个K没有确定之前,可不就是N嘛
将第9句改为:for(i = 0;i < k;i++) 能理解了吗? 风过无痕1989 发表于 2020-10-31 00:15
k(0
我好像没有改明白
#include <stdio.h>
int main()
{
double a;
int i,n;
scanf("%d\n",&n);
for(i = 0;i<=n;i++)
scanf("%lf",&a);
for(i = 0;i <=n;i++)
{
if(a >= 90 && a <= 100)
{
printf("A ");
}
else if(a >= 80 && a <90)
{
printf("B ");
}
else if(a >= 70 && a < 80)
{
printf("C ");
}
else if(a >= 60 && a < 70)
{
printf("D ");
}
else if(a >= 40 && a < 60)
{
printf("E ");
}
else if(a >= 0 && a < 40)
printf("F ");
}
return 0;
}
西柚西柚 发表于 2020-10-31 08:31
我好像没有改明白
#include
你的程序第6行有问题:scanf("%d\n",&n); 你的目的是想图稿有多少个人的成绩,但是,scanf()函数中,除了控制符之外,最好别添加任何的其他字符,你却加了一个回车,这样的语句,在程序中容易出错。你若一定要输入完 n 以后换行,可以写成:
scanf("%d",&n);
printf("\n"); 风过无痕1989 发表于 2020-10-31 09:12
你的程序第6行有问题:scanf("%d\n",&n); 你的目的是想图稿有多少个人的成绩,但是,scanf()函数中,除了 ...
帮孩子再看看吧
输出结果是错的
#include <stdio.h>
int main()
{
double a;
int i,n;
scanf("%d",&n);
for(i = 0;i<n;i++)
scanf("%lf",&a);
for(i = 0;i <n;i++)
{
if('a'>= 90 && 'a' <= 100)
{
printf("A ");
}
else if('a'>= 80 && 'a'<90)
{
printf("B ");
}
else if('a' >= 70 && 'a' < 80)
{
printf("C ");
}
else if('a'>= 60 && 'a' < 70)
{
printf("D ");
}
else if('a' >= 40 && 'a' < 60)
{
printf("E ");
}
else if('a' >= 0 && 'a' < 40)
printf("F ");
}
return 0;
} 西柚西柚 发表于 2020-10-31 12:31
帮孩子再看看吧
输出结果是错的
#include
你这样的程序,运行当然是错的啦!
你定义的是一个数组,可你在下面的循环判断中,却将数组名作为变量在使用,换句话说:不用使用 a,要使用 a[ i ] 我明白了,你使用数组,它却没有如愿显示出来,却变成了斜体。那是因为你没有使用代码功能的原因
https://xxx.ilovefishc.com/album/202009/19/115416qe98e8zc9nbknb9z.jpg
页:
[1]