当前位置: 代码迷 >> C语言 >> 请求改正错误
  详细解决方案

请求改正错误

热度:229   发布时间:2008-03-19 15:32:55.0
请求改正错误
 已知每班的人数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是代表输入结束。
是对输入时的解释、说明的,即输入要满足该条件。
----------------解决方案--------------------------------------------------------
  相关解决方案