你好,请问代码运行结果不正确是什么问题呢

/* 编写一个程序, 提示用户输入 3 组数, 每组数包含 5 个 double 类型的数(假
设用户都正确地响应, 不会输入非数值数据)。该程序应完成下列任务。
a.把用户输入的数据储存在 3×5 的数组中
b.计算每组(5 个)数据的平均值
c.计算所有数据的平均值
d.找出这 15 个数据中的最大值*/
#include<stdio.h>
int main()
{
int i,j;
//double a[5],b[5],c[5];
double alt[3][5];
double sum[3] = { 0,0,0 },sum_alt=0;
double aver[3],aver_alt;
//double aver_a, aver_b, aver_c, aver_alt;
printf("please input three groups number which have five numbers:\n");
for (i = 0; i < 3; i++)
{printf("the NO.%d group is:\n", i+1);
for(j=0;j<5;j++)
scanf_s("%lf", &alt[i][j]);
}//超过两行加括号
//alt[3][5] = a[1] + a[2] + a[3];
for (i = 0; i < 3; i++)
for (j = 0; j < 5; j++)
sum[i] = sum[i] + alt[i][j];
for (i = 0; i < 3; i++)
{
aver[i] = sum[i] / 3;
sum_alt = sum_alt + sum[i];
printf("the NO.%d average is %5.2lf\n", i+1, aver[i]);
}
aver_alt = sum_alt / 3;
printf("the altogher average is %5.2lf", aver_alt);//sum_alt / 3);
return 0;
}

(1)aver[i] = sum[i] / 3; 这里应该是除以5,不是除以3
(2)你没有求最大值。
(3)aver_alt = sum_alt / 3; //这里除以15,不是除以3
代码修改如下:

#include<stdio.h>
int main()
{
    int i,j;
    //double a[5],b[5],c[5];
    double alt[3][5];
    double sum[3] = { 0,0,0 },sum_alt=0;
    double aver[3],aver_alt;
    double maxv;
    //double aver_a, aver_b, aver_c, aver_alt;
    printf("please input three groups number which have five numbers:\n");
    for (i = 0; i < 3; i++)
    {
        printf("the NO.%d group is:\n", i+1);
        for(j=0;j<5;j++)
        {
            scanf_s("%lf", &alt[i][j]);
            //求最大值
            if(i==0 && j==0)
                maxv = alt[i][j];
            else
            {
                if(alt[i][j]>maxv)
                    maxv = alt[i][j];
            }
        }
    }//超过两行加括号
    //alt[3][5] = a[1] + a[2] + a[3];
    for (i = 0; i < 3; i++)
        for (j = 0; j < 5; j++)
            sum[i] = sum[i] + alt[i][j];
    for (i = 0; i < 3; i++)
    {
        aver[i] = sum[i] / 5; //这里是除以5
        sum_alt = sum_alt + sum[i];
        printf("the NO.%d average is %5.2lf\n", i+1, aver[i]);
    }
    aver_alt = sum_alt / 15; //这里除以15
    printf("the altogher average is %5.2lf\n", aver_alt);//sum_alt / 3);

    //显示最大值
    printf("max=%g\n",maxv);
    return 0;
}

每组5个值,平均数要除以5,
aver[i] = sum[i] / 5; 应该除以5
全部的要除以15
aver_alt = sum_alt / 15; 应该除以15

你题目的解答代码如下:

#include <stdio.h>
int main()
{
    int i, j;
    //double a[5],b[5],c[5];
    double alt[3][5];
    double sum[3] = {0, 0, 0}, sum_alt = 0;
    double aver[3], aver_alt;
    //double aver_a, aver_b, aver_c, aver_alt;
    printf("please input three groups number which have five numbers:\n");
    for (i = 0; i < 3; i++)
    {
        printf("the NO.%d group is:\n", i + 1);
        for (j = 0; j < 5; j++)
            scanf_s("%lf", &alt[i][j]);
    } //超过两行加括号
    //alt[3][5] = a[1] + a[2] + a[3];
    for (i = 0; i < 3; i++)
        for (j = 0; j < 5; j++)
            sum[i] = sum[i] + alt[i][j];
    for (i = 0; i < 3; i++)
    {
        aver[i] = sum[i] / 5;   //3改成5
        sum_alt = sum_alt + sum[i];
        printf("the NO.%d average is %5.2lf\n", i + 1, aver[i]);
    }
    aver_alt = sum_alt / 15; //改成15
    printf("the altogher average is %5.2lf", aver_alt); //sum_alt / 3);
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

img

int main()
{
    int i,j;
//double a[5],b[5],c[5];
    double alt[3][5];
    double sum[3] = { 0,0,0 },sum_alt=0;
    double aver[3],aver_alt;
//double aver_a, aver_b, aver_c, aver_alt;
    printf("please input three groups number which have five numbers:\n");
    for (i = 0; i < 3; i++)
    {   printf("the NO.%d group is:\n", i+1);
        for(j=0; j<5; j++)
            //scanf_s("%lf", &alt[i][j]);
            scanf("%lf", &alt[i][j]);
    }//超过两行加括号
//alt[3][5] = a[1] + a[2] + a[3];
    for (i = 0; i < 3; i++)
        for (j = 0; j < 5; j++)
            sum[i] = sum[i] + alt[i][j];
    for (i = 0; i < 3; i++)
    {
        aver[i] = sum[i] / 5;
        sum_alt = sum_alt + sum[i];
        printf("the NO.%d average is %5.2lf\n", i+1, aver[i]);
    }
    aver_alt = sum_alt /15;
    printf("the altogher average is %5.2lf", aver_alt);//sum_alt / 3);
    return 0;
}