C++编写一个评分程序,接受用户输入10个选手的得分(0-10分),然后去掉一个最高分和一个最低分求出平均分

2025-01-02 18:04:43
推荐回答(5个)
回答1:

#include

using namespace std;

void main()

{

 cout<<"请输入10个分数:"<
 double a[10];

 for(int i=0;i<10;i++)

  cin>>a[i];

 int min=a[0];

 for(int j=1;j<10;j++)

  if(a[j]
   min=a[j];

 int max=a[0];

 for(int k=1;k<10;k++)

  if(a[k]>max)

   max=a[k];

 double sum=0;

 for(int z=0;z<10;z++)

  sum=sum+a[z];

 sum=sum-min-max;

 cout<<"平军分为:";

 cout<
}

我只写了一分钟,哈哈

回答2:

#include
using namespace std;
int main(){
int a[10],i,maxnum,minnum,n,sum=0;
float avg;
for(i=0;i<10;i++)
{
cout<<"Please input a number(0~10)"<cin>>n;
a[i]=n;
}
for(i=0;i<10;i++)sum=sum+a[i];
cout<<"总分为:";
cout<minnum=a[0],maxnum=a[9];
for(i=1;i<10;i++)
{
if(a[i]>=minnum)minnum=a[0];
else minnum=a[i];
if(a[i]else maxnum=a[i];
}
avg=(sum-maxnum-minnum)/8.0;//平均分是float型的,所以除8.0
cout<<"去掉最高分和最低分后平均分为:";
cout<return 0;}

你每次循环都把最大最小值给减掉了,当然不对啊

回答3:

#include
using namespace std;
int main()
{
int a[10];
for (int i=0;i<10;i++)
{
cout<<"输入分数"< cin>>a[i];
}
for (int i=0;i<10;i++)
{
for(int k=i+1;k<10;k++)
{
if(a[i] {
int temp=a[i];
a[i]=a[k];
a[k]=temp;

}
}
}
double sum=0;
for (int i=1;i<9;i++)
{
sum+=a[i];
cout< }
sum=sum/8;
cout<<"平均分为"<
}

回答4:

私聊

回答5:

可以 不知道有没有人帮你解决了