求救~~C语言求列最值问题!!!

coder7 2007-11-20 06:06:16
有3个学生的3门成绩,计算每门课的平均成绩及各门课的最高分与最低分。

我是个新手,在自学C,下面是我写的程序,但是运行结果是错误的。
请各位高手帮我改程序,不甚感激。谢谢~~


#include <stdio.h>
void main()
{
int s[3][3];
int max,min,i,j;
double sum;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&s[i][j]);
for(j=0;j<3;j++){
max=min=0;
sum=0;
for(i=0;i<3;i++){
sum+=s[i][j];
if(s[max][j]<s[i][j]) max=i;
if(s[min][j]>s[i][j]) min=i;}
printf("Average of %d:%f",j+1,sum/3);
printf("Max of %d:%f",j+1,s[max][j]);
printf("Min of %d:%f",j+1,s[min][j]);
}
}
...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
simaping 2007-11-20
  • 打赏
  • 举报
回复
Java:
System.out.println("平均成绩是:"+sum/3);
System.out.println("第一门最大成绩是:"+s[max][j]);
//以下雷同,Java中可以直接打印,因为它没有C中的格式控制

coder7 2007-11-20
  • 打赏
  • 举报
回复
那请问,如果是用JAVA写这个程序,输出的地方应该怎么改呢?谢谢~~
yyy6210 2007-11-20
  • 打赏
  • 举报
回复
输出问题~~~
1楼的这样:
printf( "Average of %d:%f ",j+1,(float)(sum / 3.0));
printf( "Max of %d:%f ",j+1,(float)s[max][j]);
printf( "Min of %d:%f ",j+1,(float)s[min][j]);
coder7 2007-11-20
  • 打赏
  • 举报
回复
改成sum/3.0后AVERAGE是对了,但是其他的MAX,MIN都等于0.TOT
_石头_ 2007-11-20
  • 打赏
  • 举报
回复
下面的雷同!
_石头_ 2007-11-20
  • 打赏
  • 举报
回复

#include <stdio.h>
void main()
{
int s[3][3];
int max,min,i,j;
double sum;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&s[i][j]);
for(j=0;j<3;j++)
{
max=min=0;
sum=0;
for(i=0;i<3;i++)
{
sum+=s[i][j];
if(s[max][j]<s[i][j])
max=i;
if(s[min][j]>s[i][j])
min=i;
}
printf("Average of %d:%f",j+1,sum/3); // 改为sum/3.0
printf("Max of %d:%f",j+1,s[max][j]);
printf("Min of %d:%f",j+1,s[min][j]);
}
}


sunrisemaple 2007-11-20
  • 打赏
  • 举报
回复
是输出的问题,改成下面的方式输出:
printf("Average of %d:%f",j+1,(float)(sum / 3.0));
printf("Max of %d:%f",j+1,(float)s[max][j]);
printf("Min of %d:%f",j+1,(float)s[min][j]);

%f必须对应float类型的值

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧