这个题的输出有什么要求还是有其他要求?我试过多组数据并且将输入的数据数量也更改了进行尝试也没有错,不知道在哪些地方还有细节没注意到,希望大佬路过帮帮。代码奉上
#include<stdio.h>
#define N 40
int main() {
int a[11] = {0},b[N], i, cnt = 0,max=0,j=0,k,min;
double sum = 0;/sum记录输入数据总和来计算平均值/
while (cnt!=N) {
scanf("%d", &i);
a[i]++;/输入的同时标记数字的数量变化/
sum += i;
b[cnt] = i;/用另一个数组保存输入的数据以用来排序计算中位数/
cnt++;//cnt到达输入最大数时退出循环
if (a[i] > max) {
/判别某个数字数量是否最大,是的话记录它的下标,也就是数字本身/
max = a[i];
j = i;//j记录众数的下标
}
}
for (i = 0; i < N/2+1; i++) {
/类似冒泡算法的功能/
min = b[i];
for (k = i+1; k < N; k++) {
if (b[k] < min) {
b[i] = b[k];
b[k] = min;
min = b[i];
}
}
}
printf("%f %f %d", sum / N, (b[(N-1)/2] + b[N/2]) / 2.0, j);
return 0;
}
是不是要输出末尾\n