作业,求助,急
#include<stdio.h>int main()
{
int i,k,s,q;
int a;
k=0;
q=0;
printf("请输入学生的成绩: ");
for(i=1;i<1000&&i>=1;)
{
scanf("%d",&a);
k=+a;
s=k/i;
if(a<60&&a>=0)
{
q++;
i++;
printf("不及格的成绩为%d\n",a);
}
else if(a>=60)
{
i++;
}
else
{
break;
}
}
printf("平均成绩为%d,不及格人数为%d\n",s,q);
return 0;
}
不知道哪里输入错误了
请输入学生的成绩:
10
50
60
-1
平均成绩为40.000000,不及格人数为2
#include<stdio.h>
int main()
{
int i=0,j=0;//总人数,不及格人数,平均分,总分
float avg = 0,sum=0;
int a;
int b; //存放不及格人数
printf("请输入学生的成绩: \n");
for(i=0;i<1000;i++)
{
scanf("%d",&a);
if (a<0) // 这里就要判断退出条件了
break;
if(a<60&&a>=0)
b = a, j++;
sum += a;
}
avg = sum/i;
printf("平均成绩为%f,不及格人数为%d\n",avg,j);
return 0;
} scanf("%d",&a);
没有这样给数组赋值的,除了字符串
计算平均数的语句放在循环里也是错的
题目没说限制输入上限,你这直接就小于1000也有问题
直接用while更简洁
题目意思应该是输入结束后统一输出平均成绩、不及格成绩和人数,但你这是一边输入的同时输出了不及格成绩 大马强 发表于 2022-4-21 16:41
等等,少了不及格成绩的输出 风车呼呼呼 发表于 2022-4-21 17:03
没有这样给数组赋值的,除了字符串
计算平均数的语句放在循环里也是错的
主要是a【】不能没有定义啊,所以要规定,不及格成绩可以直接打完一行成绩再回车,不然很难一个一个去判断啊 不知君 发表于 2022-4-21 17:15
等等,少了不及格成绩的输出
也是哈,忘记了,你可以再加个循环输出
页:
[1]