| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 947 人关注过本帖
标题:为什么运行不了
只看楼主 加入收藏
我为C狂
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2004-7-29
收藏
 问题点数:0 回复次数:7 
为什么运行不了

main() { int i,j,t; int num[30], score[30][9],sum; float aver[30],aver1[9],tem; for(i=0;i<30;i++) { scanf("%d",&num[i]); for(j=0;j<9;j++) scanf("%d",&score[i][j]); } for(i=0;i<30;i++) { sum=0; for(j=0;j<9;j++) sum+=score[i][j]; aver[i]=sum/9; } for(i=0;i<29;i++) for(j=i+1;j<30;j++) if(aver[i]<aver[j]) { tem=aver[i]; aver[i]=aver[j]; aver[j]=tem; t=num[i]; num[i]=num[j]; num[j]=t; } for(i=0;i<3;i++) printf("%d,unm=%d,aver=%f\n",i+1,num[i],aver[i]); for(j=0;j<9;j++) { sum=0; for(i=0;i<30;i++) sum+=score[i][j]; aver1[i]=sum/30; } for(j=0;j<9;j++) printf("NO,%d\t%f\n",i+1,aver1[i]); getch(); }

搜索更多相关主题的帖子: aver sum tem num score 
2004-08-04 18:07
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
怎么运行不了?你这个程序是什么地干活?

淘宝杜琨
2004-08-04 18:12
我为C狂
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2004-7-29
收藏
得分:0 

某班30人,每人9门课

1.键盘输入每个人学号和9门成绩.

2.求出每人的平均分,并按平均分排序,输出前三名的学号和平均分

3.求出每门课的平均分.


C语言程序设计
2004-08-04 18:32
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

#define N 30

main() { int i,j,t; int num[N], score[N][9],sum; float aver[N],aver1[9],tem; /*输入各科成绩*/ for(i=0;i<N;i++){ printf("Please input the %dth NO_! ",i+1); scanf("%d",&num[i]); for(j=0;j<9;j++){ printf("The %dth lesson: ",j+1); scanf("%d",&score[i][j]); } } /*求平均分*/ for(i=0;i<N;i++){ sum=0; for(j=0;j<9;j++) sum+=score[i][j]; aver[i]=(float)(sum/9); } /*冒泡排序法*/ /*请注意更正你原来的冒泡法,它是错误的!*/ for(i=0;i<N;i++) for(j=N-1;j>=i;j--) if(aver[j]<aver[j+1]){ /*开始脱胎换骨*/ {tem=aver[j];aver[j]=aver[j+1];aver[j+1]=tem;} /*换平均分*/ {sum=num[j];num[j]=num[j+1];num[j+1]=sum;} /*换学号*/ /*因为题目没要求输出各科成绩,所以成绩不用换*/ } /*输出数据*/ printf("\n\n"); for(i=0;i<3;i++) printf("%d,unm=%d,aver=%f\n",i+1,num[i],aver[i]); /*输出前三名*/ /*计算各科平均分*/ for(j=0;j<9;j++){ sum=0; for(i=0;i<N;i++) sum+=score[i][j]; aver1[j]=(float)(sum/N); /*注意:这里的i改为j*/ } /*输出各科平均分*/ for(j=0;j<9;j++) printf("NO,%d\t%f\n",j+1,aver1[j]);/*注意:这里的j改为i*/

getch(); }

建议:回去再多看看有关冒泡排序的计算方法。后面你的 i 和 j 都搞乱了,以后要注意。


淘宝杜琨
2004-08-04 19:30
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

恩~检验程序的时候,不用这么傻把30个学生都输入进去,会死人的,把上面的N 改一下就OK啦


淘宝杜琨
2004-08-04 19:32
我为C狂
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2004-7-29
收藏
得分:0 

好厉害啊!

你学C语言多长时间了!

好羡慕哦!


C语言程序设计
2004-08-09 09:59
wanyy1228
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2004-8-8
收藏
得分:0 
高手

2004-08-09 10:18
快速回复:为什么运行不了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020940 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved