| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1006 人关注过本帖
标题:[求助]二维数组的问题
只看楼主 加入收藏
kyan54
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-4-7
收藏
 问题点数:0 回复次数:12 
[求助]二维数组的问题
已知某班N(<=50)名学生进行了高数,英语跟C语言等3门考试,将3门课的成绩并计算总分存放于一个二维数组中,将学生姓名存放在另一个二维数组中,按总分由高到低将学生姓名排序并输出排序结果(序号和姓名)

这题怎么做的。。我想来想去成绩的二维数组跟学生姓名的二维数组连不起来。。
请高手指教下。。顺便贴一下代码。。谢谢了。。
搜索更多相关主题的帖子: 姓名 C语言 
2007-06-08 21:23
puppywin
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-6-7
收藏
得分:0 

是算总分排序还是分科???

2007-06-08 21:59
puppywin
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-6-7
收藏
得分:0 
分科的话 3门成绩要加3个跟随移动的
所以可以做个N行6列的数组

输出时用3个跟随的数组来控制输出姓名的char* Name[N]的一维字符指针数组
2007-06-08 22:02
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
按照下标存,既第i行的三个成绩就是学生数组第i个学生.

结构体做就好多了,数据封装了一下,也不容易出错.

倚天照海花无数,流水高山心自知。
2007-06-08 22:26
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

做了半天想不出用我现在所学的知识,怎么把名字一起输出来郁闷。这是我搞了个成绩排名出来。

#include"stdio.h"
int main(void)
{
int cj[4][3];
int i,j,n;
char name;
int temp;
for(i=0;i<4;++i)
for(j=0;j<3;++j)
cj[i][j]=0;

printf("Input xuesheng chengji");


for(j=0;j<3;++j){
for(i=0;i<3;++i)
scanf("%i",&cj[j][i]);}


for (j=0;j<3;++j){
for(i=0;i<3;++i)
cj[3][j]+=cj[i][j];}


for(j=0;j<2;++j)
for(i=j+1;i<3;++i)
if(cj[3][j]<cj[3][i]){
temp=cj[3][i];
cj[3][i]=cj[3][j];
cj[3][j]=temp;}


for(i=0;i<3;++i)
printf("The paiming is:%i\n",cj[3][i]);
getch();
return 0;
}


深山苦学C语言,终年不见外面世界。
2007-06-08 22:30
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
请斑竹明示下,我看了好象有点明了,但是不透彻,给个类子。

深山苦学C语言,终年不见外面世界。
2007-06-08 22:32
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

#define StuNum 50 /*学生的数量*/
#define NameMaxSize 10 /*姓名的最大空间为9个字节*/
struct score
{
int stuNO; /*学生的编号*/
int maths; /*数学成绩*/
int english; /*英语成绩*/
int C_Pro; /*C语言成绩*/
int totalScore; /*总分*/
}stuScore[StuNum];

char stuName[StuNum][NameMaxSize ];/*定义学生姓名,并按编号填写姓名*/

用编号来联系分数和姓名.
不知道,这样的数据结构定义合不合适.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-06-08 22:32
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
再做总分排名的时候要交换成绩,与此同时交换名字.
比如if(score[i]<score[j])
{
temp=score[i],score[i]=score[j],score[j]=temp;//交换分数
strcpy(str,name[i]);//交换姓名
strcpy(name[i],name[j]);
strcpy(name[j],str);
}

这种当然要你使用结构体麻烦了.呵呵.

倚天照海花无数,流水高山心自知。
2007-06-08 22:43
kyan54
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-4-7
收藏
得分:0 

可是要名字也要是2维数组。。而成绩又是2维数组。。我就不会了。。郁闷着。。看着题目有点会又又点不会。。感觉真是不爽


if (只要你感兴趣,有毅力) printf(\"就什么都不是问题~!\");
2007-06-08 23:02
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
名字是二维,但看成一维的,应该名字是个整体.不过前面我说错了一个,就是总分交换,还要把各科的也要交换.
哎,好麻烦,强烈使用结构体!

倚天照海花无数,流水高山心自知。
2007-06-08 23:12
快速回复:[求助]二维数组的问题
数据加载中...
 
   



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

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