1楼用到了泛型算法sort如果你要是不懂得话,可以自己编写一个排序冒泡啊之类的都可以我这里给你一个#include <iostream>
using namespace std;
//冒泡排序,升序排列,时间复杂度O(n^2),如果原始数据已经有序则复杂度为n
void bubblesort(int r[],int n)
{
int i,j,flag;
for (i=1;i<=n;i++)
{
flag=1; //设置交换标志,flag=1时为未交换
for (j=1;j<=n-i;j++)
if (r[j+1]<r[j])
{
flag=0; //已交换
r[0]=r[j];r[j]=r[j+1];r[j+1]=r[0];
}
if (flag !=0) break; //未交换,排序结束
}
}
int main ()
{
const int maxsize=10;
int r[maxsize+1];
for (int i=1;i<=maxsize;i++)
{
cin>>r[i];
}
bubblesort (r , maxsize);
for ( i=1;i<=maxsize;i++)
{
cout<<r[i]<<endl;
}
return 1;
}
#include<stdioh>
int main(void)
{
float a[10],temp;
printf("请输入分数:\n");
int i,j;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]<a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
printf("最高分:%2f\n最低分:%2f\n",a[0],a[9]);
return 0;
}
#include "stdioh"
int main()
{
struct st
{
char name[10];
int cj[20];
double avage;
}std[50],t;
int m,n,i,j,k;
double max,min;
printf("输入选手人数:");
scanf("%d",&m);
printf("输入评委人数:");
scanf("%d",&n);
printf("输入%d个选手:",m);
for(i=0;i<m;i++)
scanf("%s",std[i]name);
for(i=0;i<m;i++)
{
printf("输入第%d个选手的%d个成绩:",i,n);
for(j=0;j<n;j++)
{
scanf("%d",&std[i]cj[j]);
}
}
//求平均
for(i=0;i<m;i++)
{
max=(double)std[i]cj[0];
min=(double)std[i]cj[0];
std[i]avage=(double)std[i]cj[0];
for(j=1;j<n;j++)
{
if(max<std[i]cj[j])
max=std[i]cj[j];
if(min>std[i]cj[j])
min=std[i]cj[j];
std[i]avage=std[i]avage+std[i]cj[j];
}
std[i]avage=(std[i]avage-max-min)/(double)(n-2);
}
//排序
for(i=0;i<m;i++)
{
for(j=m-1;j>i;j--)
{
if(std[j]avage>std[j-1]avage)
{
t=std[j];std[j]=std[j-1];std[j-1]=t;
}
}
}
for(i=0;i<m;i++)
{
printf("%s:%2lf\n",std[i]name,std[i]avage);
}
}
以上就是关于用C++做程序有10个评委打分,试对10个分数排序,并求这位选手的平均分(去掉一个最高分和一个最低分)全部的内容,包括:用C++做程序有10个评委打分,试对10个分数排序,并求这位选手的平均分(去掉一个最高分和一个最低分)、C语言编程题:歌唱比赛十个评委打分,请求出其中的最高分和最低分并进行输出(要求从键盘接收数据)。、设计C语言程序共有M个选手参加比赛,N个评委进行打分,从键盘输入M个选手的各N个成绩(按照先输入第一个等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)