#include<stdio.h>
void avger( int a[100][100], int l, int m) {
int i, j;
int sum1[100];
int aver1[100];
int aver[100];
int sum[100];
sum[0]=0;
for (i = 0; i < l; i++) {
for (j = 0; j < m; j++) {
sum[i] += a[i][j];
}
}
for (i = 0; i < m; i++) {
for (j = 0; j < l; j++) {
sum1[i] += a[j][i];
}
}
for (i = 0; i < m; i++) {
aver1[i] = sum1[i] / l;
}
for (i = 0; i < l; i++) {
aver[i] = sum[i] / m;
}
for (i = 0; i < l; i++) {
printf("第%d个学生的平均分为:",i+1);
printf("%d ", aver[i]);
printf("\n");
}
for (i = 0; i < m; i++) {
printf("第%d个科目的平均分为:",i+1);
printf("%d ", aver1[i]);
printf("\n");
}
}
void max(int a[100][100],int l,int m){
int i,j,k,p;
int max=a[0][0],min=a[0][0];
for(i=0;i<m;i++){
for(j=0;j<l;j++){
if(max<a[j][i]){
max=a[j][i];
k=j;
}
if(min>a[j][i]){
min=a[j][i];
p=j;
}
}
printf("第%d科的最高分是:%d号同学\n",i+1,k+1);
printf("第%d科的最低分是:%d号同学\n",i+1,p+1);
}
}
int main()
{
int a[100][100];
int l, m, i, j;
printf("请输入人数和考试科目数:");
scanf("%d %d", &l, &m);
for (i = 0; i < l; i++) {
printf("请输入第%d位学生的%d门成绩:",i+1,m);
for (j = 0; j < m; j++) {
scanf("%d", &a[i][j]);
}
}
avger(a,l,m);
max(a,l,m);
return 0;
}
这段代码错了,怎么改,不管输入多少都是第二位同学
这是哪点错了,求大佬
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 我系真滴菜 2022-12-03 21:20关注
这个求最大最小值的逻辑有点小问题,要给k和p赋初值的,望采纳
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 TeleScan不能修改bar
- ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
- ¥15 hadoop中启动hive报错如下怎么解决
- ¥15 如何优化QWebEngineView 加载url的速度
- ¥15 关于#hadoop#的问题,请各位专家解答!
- ¥15 如何批量抓取网站信息
- ¥15 Spring Boot离线人脸识别
- ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
- ¥15 NRF24L01能发送但是不能接收
- ¥15 想问一下这种情况怎么解决呢(关键词-file)