您好,打扰一下,我这只有一个样例没过,我也不知道为什么,希望您抽时间看一下我的代码问题[抱拳]
#include<stdio.h>
int main()
{
//先进行排序,再进行算平均等待时间
int n = 0;
scanf("%d", &n);//n为总人数
int time[1001] = { 0 };
for (int i = 0; i < n; i++)
{
scanf("%d", &time[i]);
}//吸收每个人所用时间
int peo[1000] = {0};
for (int c = 1; c <= n; c++)
{
peo[c - 1] = c;
}//给每个人标上序号,以便后续按要求输出
//把每个人的时间排序//冒泡排序
int i = 0;
for (i = 0; i < n-1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (time[j] >= time[j + 1])
{
int t = 0;
t = time[j];
time[j] = time[j + 1];
time[j + 1] = t;
int x = 0;
x = peo[j];
peo[j] = peo[j + 1];
peo[j + 1] = x;
}
}
}
for (int y = 0; y < n; y++)//按要求打印排好序后每个人的标签序号
{
printf("%d ", peo[y]);
}
//下边找出最少的平均用时
//第一个时间加(n-1)遍,第二个时间加(n-2)遍,最后一个时间加0遍
//最后,统一除以n
long long sum = 0;
for (int m = 1; m <= n; m++)//把所有用时都加起来
{
int py = n-m;
for (py; py > 0; py--)
{
sum = sum + time[m-1];
}
}
double atime = sum / (double)n;//计算平均时间
printf("\n%.2lf\n", atime);//按其要求格式输出
return 0;
}