qq_56749141 2021-10-10 13:08 采纳率: 100%
浏览 44
已结题

运行后的结果不正确,怎么修改代码合适?


#include <stdio.h>
void total(int *a,int sum[],float aver[],int m,int n);
void print(int *a,int sum[],float aver[],int m,int n);
int main()
{
 int i,j,m,n,a[30][5],sum[30];
 float aver[30];
 printf("how many student?");
 scanf("%d",&m);
 printf("how many courses?");
 scanf("%d",&n);
 printf("input scores:\n");
 for(i=0;i<m;i++)
 {
  for(j=0;j<n;j++)
   scanf("%d",&a[i][j]);
 }
 total(*a,sum,aver,m,n);
 print(*a,sum,aver,m,n);
 return 0;
}
void total(int *a,int sum[],float aver[],int m,int n)
{
 int i,j;
 for(i=0;i<m;i++)
 {
  sum[i]=0;
  for(j=0;j<n;j++)
   sum[i]=sum[i]+a[i*n+j];
  aver[i]=(float)sum[i]/n;
 }
}
void print(int *a,int sum[],float aver[],int m,int n)
{
 int i,j;
 printf("result:\n");
 for(i=0;i<m;i++)
 {
  for(j=0;j<n;j++)
   printf("%4d\t",a[i*n+j]);
  printf("5d\t%6.1f\n",sum[i],aver[i]);
 }
}


  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-10-10 13:24
    关注

    二维数组不能这么传递和访问,还是改为全局变量吧

    #include <stdio.h>
    
    void total(int sum[],float aver[]);
    void print(int sum[],float aver[]);
    int m,n,a[30][5];
    int main()
    {
        int i,j,sum[30];
        float aver[30];
        printf("how many student?");
        scanf("%d",&m);
        printf("how many courses?");
        scanf("%d",&n);
        printf("input scores:\n");
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
                scanf("%d",&a[i][j]);
        }
        total(sum,aver);
        print(sum,aver);
        return 0;
    }
    void total(int sum[],float aver[])
    {
        int i,j;
        for(i=0;i<m;i++)
        {
            sum[i]=0;
            for(j=0;j<n;j++)
                sum[i]=sum[i]+a[i][j];
            aver[i]=(float)sum[i]/n;
        }
    }
    void print(int sum[],float aver[])
    {
        int i,j;
        printf("result:\n");
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
                printf("%4d\t",a[i][j]);
            printf("%5d\t%6.1f\n",sum[i],aver[i]);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月10日
  • 创建了问题 10月10日