设计一个歌唱比赛排名的程序

来源:百度知道 编辑:UC知道 时间:2024/05/21 04:02:09
要求采用两种排序方式,:1获得相同分数的选手具有相同的名次,名次连续编号;2考虑同名次的选手人数,,根据同名次的选手人数对选手的名次进行编号。
例如:
选手序号:1 2 3 4 5 6 7
选手得分:5 3 4 7 3 5 6
则方案1则输出为:3 4 5 1 4 3 2
方案2则输出:3 5 7 1 5 3 2

施主例子中排序好像不太对哈,要细心啊

#include<stdio.h>
#define N 7
void main()
{
int score[N]={5,3,4,7,3,5,6};//存储得分
//int score1[N]={5,3,4,7,3,5,6};//存储得分
int ID[N]={1,2,3,4,5,6,7};
int paiming1[N];
int paiming2[N];
int i,j,k;
int t1,t2;
int index;
int paiming=1;
int temp=0;
for(i=0;i<N;i++)
printf(" %d ",score[i]);
printf("\n");
for(i=0;i<N-1;i++)
{
t1=score[i];t2=ID[i];
index=i;
for(j=i+1;j<N;j++)
{
if(score[index]<score[j])
{
index=j;
}
}
t1=score[i];
t2=ID[i];
score[i]=score[index];ID[i]=ID[index];
score[index]=t1;ID[index]=t2;
}
for(i=0;i<N;i++)
printf(" %d ",score[i]);
printf("\nsolution1:\n");
temp=score[0];
for(i=0;i<N;i++)
{
if(score[i]==tem