请求改正错误
已知每班的人数n由2到150不等(2<=n<=150)。并且这次考试期间有一小撮同学(爱迪生,西西利亚,娇娇,波波,晴晴等)由于自己的私密照片被传到网上,心理上受到了很大打击,分数只有个位数或者干脆缺考(记为零分)。考虑到如果把这部分的学生成绩加到总成绩算平均分很不妥,于是cc老师决定把成绩为个位数的分数去掉来计算。 Input
输入包含多组测试数据。 对于每组测试数据,第一行包含一个整数n ,表示共有n个同学。接下来的n行,每行包含一个整数,表示分数。
n为0是代表输入结束。
#include<iostream>
using namespace std;
const int Size=150;
int main()
{
int n,k=0;
float average=0,m,sum=0;
cin>>n>>m;
while(1)
{
if(m==0)break;
if(m>=10)
{sum=m+sum;
k++;}
cin>>m;
}
cout.setf(ios::fixed);
cout.precision(2);
average=sum/k;
cout<<average<<endl;
system("pause");
return 1;
}
结果是错误的,。也许我的体理解有误,但不知道错在何处,请哪位高人指点迷津,小妹十分感激。
搜索更多相关的解决方案:
请求
----------------解决方案--------------------------------------------------------
if(m==0)break;
去掉。
我修改了下
#include<iostream>
using namespace std;
const int Size=150;
int main()
{
int n,k=0,m,sum=0,i=1;
float average=0;
cin>>n;
while(i<=n)
{
cin>>m;
if(m/10)
{sum+=m;
k++;}
i++;
}
cout.setf(ios::fixed);
cout.precision(2);
average=(float)sum/(float)k;
cout<<average<<endl;
system("pause");
return 1;
}
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
应该不是那里的问题,要求是输入为0时,跳出输的。例如 输入 :
5
98
86
78
3
66
0
----------------解决方案--------------------------------------------------------
大家帮忙修改一下
#include"iostream.h"main()
{
count<<"shi tou jiandao bu"<<endl;
count<<"shitou_1 jiandao_2 bu_3"<<endl;
int a,b,c;
do
{
cout<<"jia yi";
cin>>a>>b;
c=a-b;
switch(c)
{
case'0': continue;
case'1':
case'-2': count<<"yi";break;
case'-1':
case'2': count<<"jia";break;
}
}while(1);
}
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
你上面不是已经输入文件了么 ----------------解决方案--------------------------------------------------------
回复 3# 的帖子
Input 输入包含多组测试数据。 对于每组测试数据,第一行包含一个整数n ,表示共有n个同学。接下来的n行,每行包含一个整数,表示分数。
n为0是代表输入结束。
是对输入时的解释、说明的,即输入要满足该条件。
----------------解决方案--------------------------------------------------------