#include<
stdio.h>
void main()
{
int n,i=0;
float sum=0,average;
printf("输入学生的数目:");
while(n<0||n>20)
scanf("%d",&n);
float str[30];
while(i<n)
{
scanf("%f",&str[i]);
i++;
}
for(int i=0;i<n;i++)
sum+=str[i];
average=sum/n;
printf("平均成绩为:%.2f\n",average);
printf("低于平均的成绩:");
i=0;
while(i<n)
{
if(str[i]<average)
printf("%.2f ",str[i]);
i++;
}
}
追问如果不输入n的值,能在程序中求出n的值吗?
追答当然不能
追问只能自己输吗?
追答我看错题了,你可以这样解决,当输入的数为负数的时候停止
#include “stdio.h”
#define MAX 100//定义最大成绩不能超过100
void main()
{
int mark[MAX],sum=0,mark=0,j=0,aver=0;
printf("请输入学生成绩,输入负数结束成绩添加");
for(int i=0;i<MAX;i++)
{
scanf("%d",&mark);
if(mark>=0)
{
sum=sum+mark;
j++;
}
else
break;
}
aver=sum/j;
printf("平均成绩为%d\n",aver);
for(int i=0;i<j,i++)
{
if(mark[i]<aver)
printf("低于平均的成绩%d\n",mark[i]);
}
}
追问厉害厉害