输入难度系数3.2
评分输入5点0再输入5.5输出的数组异常
#include <stdio.h>
void main()
{
float a[7];
int i, j, t;
float dif = 0;
printf("请输入该选手动作难度:");
scanf("%f", &dif);
for (i = 0; i < 7; i++)
{
printf("请输入第%d个评委的评分:",i+1);
scanf("%f", &a[i]);
}
for (i = 0; i < 7; i++)
{
for (j = i + 1; j <= 6; j++)
{
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
printf("该选手总得分为:%.2f", (float)(a[2] + a[3] + a[4])*dif);
}
修改见注释处,供参考:
#include <stdio.h>
void main()
{
float a[7];
int i, j; // t;
float dif = 0, t;
printf("请输入该选手动作难度:");
scanf("%f", &dif);
for (i = 0; i < 7; i++)
{
printf("请输入第%d个评委的评分:", i + 1);
scanf("%f", &a[i]);
}
for (i = 0; i < 6; i++) //for (i = 0; i < 7; i++)
{
for (j = i + 1; j <= 6; j++)
{
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
printf("该选手总得分为:%.2f", (float)(a[2] + a[3] + a[4]) * dif);
}
排序帮你改了下
#include <stdio.h>
void main()
{
float a[7];
int i, j;
float dif = 0,t;
printf("请输入该选手动作难度:");
scanf("%f", &dif);
for (i = 0; i < 7; i++)
{
printf("请输入第%d个评委的评分:",i+1);
scanf("%f", &a[i]);
}
for (i = 0; i < 7-1; i++)
{
for (j = 0; j <7-1-i; j++)
{
if (a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
printf("该选手总得分为:%.2f", (float)(a[2] + a[3] + a[4])*dif);
}