
有十个学生,每个学生有五门课,求每个学生的平均成绩,每门课的平均成绩,最高分及最高分对应的人和课。
#include<stdio.h>intx,y;voidmain(){voidaverage_student();voidaverage_ke();voidmax_sco...
#include<stdio.h>
int x,y;
void main()
{
void average_student();
void average_ke();
void max_score();
int i,j;
float a[10][5];
printf("please input array:\n");
for(i=0;i<10;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
average_student(a[10][5]);
average_ke(a[10][5]);
max_score(a[10][5]);
printf("\n");
}
void average_student(float a[x][y])
{
int m,n;
float sum=0;
for(m=0;m<x;m++)
{
for(n=0;n<y;n++)
sum+=a[m][n];
printf("%d is %f",m+1,sum/y);
sum=0;
}
}
void average_ke(float a[x][y])
{
int m,n;
float sum=0;
for(n=0;n<y;n++)
{
for(m=0;m<x;m++)
sum+=a[m][n];
printf("%d is %f",y+1,sum/x);
sum=0;
}
}
void max_score(float a[x][y])
{
int m,n;
float sum=0,max;
max=a[0][0];
for(m=0;m<x;m++)
for(n=0;n<y;n++)
if(max<a[m][n])
max=a[m][n];
printf("student=%d,ke=%d,max=%f",x+1,y+1,max);
}
这个程序错的离谱,请高手指教,谢谢了。 展开
int x,y;
void main()
{
void average_student();
void average_ke();
void max_score();
int i,j;
float a[10][5];
printf("please input array:\n");
for(i=0;i<10;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
average_student(a[10][5]);
average_ke(a[10][5]);
max_score(a[10][5]);
printf("\n");
}
void average_student(float a[x][y])
{
int m,n;
float sum=0;
for(m=0;m<x;m++)
{
for(n=0;n<y;n++)
sum+=a[m][n];
printf("%d is %f",m+1,sum/y);
sum=0;
}
}
void average_ke(float a[x][y])
{
int m,n;
float sum=0;
for(n=0;n<y;n++)
{
for(m=0;m<x;m++)
sum+=a[m][n];
printf("%d is %f",y+1,sum/x);
sum=0;
}
}
void max_score(float a[x][y])
{
int m,n;
float sum=0,max;
max=a[0][0];
for(m=0;m<x;m++)
for(n=0;n<y;n++)
if(max<a[m][n])
max=a[m][n];
printf("student=%d,ke=%d,max=%f",x+1,y+1,max);
}
这个程序错的离谱,请高手指教,谢谢了。 展开
1个回答
展开全部
#include<iostream>
#include<bitset>
#include<string>
#include<fstream>
int swap(int ,int=0);
#include<cctype>
using namespace std;
void ave_student(double a[][2]);
void ave_cl(double a[][2]);
void max_score(double a[][2]);
int main()
{
int i,j;
double a[2][2];
printf("please input array:\n");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
cin>>a[i][j];
ave_student(a);
ave_cl(a);
max_score(a);
return 0;
}
void ave_student(double a[][2])
{
int m,n;
double sum=0;
for(m=0;m<2;m++)
{
for(n=0;n<2;n++){
sum+=a[m][n];
//cout<<(double)sum/2<<endl;
}
cout<<(double)sum / 2 <<endl;
sum=0;
}
}
void ave_cl(double a[][2])
{
int m,n;
float sum=0;
for(n=0;n<2;n++)
{
for(m=0;m<2;m++){
sum+=a[m][n];
}
//printf("%d is %f \n",n + 1,sum/2);
cout<<static_cast<double>(sum / 2)<<endl;
sum=0;
}
}
void max_score(double a[][2])
{
int m,n;
double sum=0,max;
max=a[0][0];
for(m=0;m<2;m++)
for(n=0;n<2;n++)
if(max<a[m][n])
max=a[m][n];
cout<<max;
}
这样就可以了吧,数组大小可以改,头文件随便写添加的,不是需要的
#include<bitset>
#include<string>
#include<fstream>
int swap(int ,int=0);
#include<cctype>
using namespace std;
void ave_student(double a[][2]);
void ave_cl(double a[][2]);
void max_score(double a[][2]);
int main()
{
int i,j;
double a[2][2];
printf("please input array:\n");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
cin>>a[i][j];
ave_student(a);
ave_cl(a);
max_score(a);
return 0;
}
void ave_student(double a[][2])
{
int m,n;
double sum=0;
for(m=0;m<2;m++)
{
for(n=0;n<2;n++){
sum+=a[m][n];
//cout<<(double)sum/2<<endl;
}
cout<<(double)sum / 2 <<endl;
sum=0;
}
}
void ave_cl(double a[][2])
{
int m,n;
float sum=0;
for(n=0;n<2;n++)
{
for(m=0;m<2;m++){
sum+=a[m][n];
}
//printf("%d is %f \n",n + 1,sum/2);
cout<<static_cast<double>(sum / 2)<<endl;
sum=0;
}
}
void max_score(double a[][2])
{
int m,n;
double sum=0,max;
max=a[0][0];
for(m=0;m<2;m++)
for(n=0;n<2;n++)
if(max<a[m][n])
max=a[m][n];
cout<<max;
}
这样就可以了吧,数组大小可以改,头文件随便写添加的,不是需要的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询