用调用子函数的方法来编一个小题
时间:10-02
整理:3721RD
点击:
打扰大家,请教一个题 我想要用子函数的方法来做
输入10个学生的分别5门成绩,计算各科平均成绩
我编程如下,大概知道错误
1、子函数无法调用主函数中输入的数组2、对变量定义不明白 既能在主函数使用又能在子函数中使用的应该在最前面调用?但是我调用的时候会出错,不知道怎么回事
#include<stdio.h>
int gkpj();
int main()
{
int a[10][5];
int i,j;
float sum=0,avg1=0,avg2=0;
int b[5],c[10];
printf("请分别输入10个学生的语文、英语、数学、体育、计算机5门课程的成绩:\n");
for(i=1;i<6;i++)
for(j=1;j<10;j++)
{
scanf("%d",&a[i][j]);
scanf("\n");
}
gkpj();
}
int gkpj() //各科平均成绩
{int i,j,b[5],a[5][10];
float sum=0,avg1=0,avg2=0;
for(i=1;i<4;i++)
{
for(j=1;j<6;j++)
{
sum=sum+a[i][j];
avg1=sum/10;
b[i]=avg1;
}
printf("%d ",b[i]);
}
printf("\n");
}
编译结果没错 但是输入成绩后 求平均成绩出错,应该是问题1
输入10个学生的分别5门成绩,计算各科平均成绩
我编程如下,大概知道错误
1、子函数无法调用主函数中输入的数组2、对变量定义不明白 既能在主函数使用又能在子函数中使用的应该在最前面调用?但是我调用的时候会出错,不知道怎么回事
#include<stdio.h>
int gkpj();
int main()
{
int a[10][5];
int i,j;
float sum=0,avg1=0,avg2=0;
int b[5],c[10];
printf("请分别输入10个学生的语文、英语、数学、体育、计算机5门课程的成绩:\n");
for(i=1;i<6;i++)
for(j=1;j<10;j++)
{
scanf("%d",&a[i][j]);
scanf("\n");
}
gkpj();
}
int gkpj() //各科平均成绩
{int i,j,b[5],a[5][10];
float sum=0,avg1=0,avg2=0;
for(i=1;i<4;i++)
{
for(j=1;j<6;j++)
{
sum=sum+a[i][j];
avg1=sum/10;
b[i]=avg1;
}
printf("%d ",b[i]);
}
printf("\n");
}
编译结果没错 但是输入成绩后 求平均成绩出错,应该是问题1