本题要求输出低于平均分的学生序号和成绩。 输入一组学生(最大30)的成绩(实数),以-1结束或输入已满(达到30人)时结束; 输出低于平均分的学生序号(从0开始)和成绩,每个学生信息占一行(用cout,或者printf的%d输出序号,%g输出成绩)。
输入格式:
一行中输入若干个数值(最大30),以空格分隔,最后一个数是-1
输出格式:
输出低于平均分的学生序号和成绩,每个学生占一行
输入样例1:
40 50 80 60 90 -1
输出样例1:
0:40
1:50
3:60
There are 3
输入样例2:
85 98 76 87 99 68 -1
输出样例2:
0:85
2:76
5:68
There are 3
答案:
#include<iostream>
using namespace std;
int main()
{
double s[30];
int flag=1;
int i=0;
for(i;i<30;i++)
{
cin>>s[i];
if(s[i]==-1)break;
}
int sum=0;
for(int j=0;j<i;j++)
{
sum=sum+s[j];
}
double avg=0;
int l=0;
avg=sum*1.0/i;
for(int j=0;j<i;j++)
{
if(s[j]<avg)
{
cout<<j<<":"<<s[j]<<endl;
l++;
}
}
cout<<"There are "<<l;
return 0;
}