1.题目
首先从键盘中输入选手人数,然后输入对每个选手裁判的打分情况,这里面假设裁判有五位,在输入完以上要求内容后,输出每个选手的总成绩。
2.代码
#include<stdio.h>
#include <string.h>
int main(void)
{
int j = 1, n;
float a[100], b[100], sum = 0;
printf("\n输入选手人数:\n");
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
printf("现在的选手是%d号\n", i);
printf("请输入分数:\n");
for (; j < 5 * n + 1; j++)
{
scanf("%f", &a[j]);//分别输入5个裁判所给的分数
sum += a[j];//依次相加
if (j % 5 == 0)//只有当可以被5整除时才会结束运行
{
break;
}
}
b[i] = sum;//将每个选手的总分,记录到数组b中
sum = 0;//将总分重新置0
j++;
}
j = 1;
printf("选手 裁判A 裁判B 裁判C 裁判D 裁判E 总计\n");
for (int i = 1; i <= n; i++)
{
printf("选手 %d", i);//输出几号选手
for (; j < 5 * n + 1; j++)
{
printf("%7.2f", a[j]);//输出裁判给每个选手对应的分数
if (j % 5 == 0)
{
break;
}
}
printf("%7.2f\n", b[i]);//输出每个选手所得的总成绩
j++;
}
return 0;
}
3.个人见解
double的输入是 %lf
float的输入是 %f
输出时,无论double还是float都是 %f 输出,如果double的用 %lf 输出会为0.0000