来拿分,简单二维数组学号成绩排序 c++

要求:
一共4个人的成绩,要和学号对应
比如 int m[4][2] = {{21,22,23,24},{90,80,98,99}};
前面是学号,后面是成绩,输出就是
24,99
23,98
21,90
22,80
采纳有追加~

跑了下    int m[4][2] = {{21,22,23,24},{90,80,98,99}};  这里定义错了 改成 int m[2][4] = {{21,22,23,24},{90,80,98,99}};


#include<stdio.h>

#include<window.h>

#include <stdlib.h>

void bubble_sort(int a[2][4],int n);


void bubble_sort(int a[2][4],int n)//n为数组a的元素个数

{

int i,j,temp,temp2;

for(j=0;j<n-1;j++)

for(i=0;i<n-1-j;i++)

{

if(a[1][i]<a[1][i+1])//数组元素大小按升序排列

{

temp=a[0][i];

a[0][i]=a[0][i+1];

a[0][i+1]=temp;


temp2=a[1][i];

a[1][i]=a[1][i+1];

a[1][i+1]=temp2;

}

}

}

int main()

{

int m[2][4] = {{21,22,23,24},{90,80,98,99}};

int i;

bubble_sort(m,4);

for(i=0;i<4;i++)

{

printf("%d,%d\n",m[0][i],m[1][i]);

}

system("PAUSE");

}




追问

好吧,怪我...
是我没说清楚,后面的成绩是最后输入进去,然后敲个回车后才排序的..
这要怎么改呢,麻烦了

追答

#include "stdafx.h"

#include "stdio.h"

#include <string.h>

#include <stdlib.h>

#include <conio.h>




void bubble_sort(int a[2][4],int n);


void bubble_sort(int a[2][4],int n)//n为数组a的元素个数

{

int i,j,temp,temp2;

for(j=0;j<n-1;j++)

for(i=0;i<n-1-j;i++)

{

if(a[1][i]<a[1][i+1])//数组元素大小按升序排列

{

temp=a[0][i];

a[0][i]=a[0][i+1];

a[0][i+1]=temp;


temp2=a[1][i];

a[1][i]=a[1][i+1];

a[1][i+1]=temp2;

}

}

}

int main()

{

int m[2][4] = {{21,22,23,24},{90,80,98,99}};

int i;


for (i=0;i < 4;i++)

{

printf("输入 %d 号学生分数:\n\t\t   ",m[0][i]);

scanf("%d",&m[1][i]);

}


bubble_sort(m,4);

for(i=0;i<4;i++)

{

printf("%d,%d\n",m[0][i],m[1][i]);

}

system("PAUSE");

}




温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-12
#include <iostream>
using namespace std;

int main() {
int m[2][4] = { { 21, 22, 23, 24 }, { 90, 80, 98, 99 } };
int num = sizeof(m[0]) / sizeof(int), temp;
for (int i = 0; i < num; i++) {
for (int j = 0; j < num - 1; j++) {
if (m[1][j] < m[1][j + 1]) {
temp = m[1][j];
m[1][j] = m[1][j + 1];
m[1][j + 1] = temp;
temp = m[0][j];
m[0][j] = m[0][j + 1];
m[0][j + 1] = temp;
}
}
}
for (int i = 0; i < num; i++) {
cout << m[0][i] << "," << m[1][i] << endl;
}
}

来拿分,简单二维数组学号成绩排序 c++
跑了下 int m[4][2] = {{21,22,23,24},{90,80,98,99}}; 这里定义错了 改成 int m[2][4] = {{21,22,23,24},{90,80,98,99}};include<stdio.h> include<window.h> include <stdlib.h> void bubble_sort(int a[2][4],int n);void bubble_sort(int a[2][4],i...

用C++编写一个学生成绩管理系统,并编写一个友元函数能完成对成绩进行从...
cout<<"请选择以何种方式排序:"<<endl; cout<<"1:以学号排序"<<endl; cout<<"2:以英语成绩排序"<<endl; cout<<"3:以数学成绩排序"<<endl; cout<<"4:以计算机成绩排序"<<endl; cout<<"5:返回"<<endl; cout<<"请选择(1-5):"<<endl; cin>>c; switch (c) { case '1':pnumb(); break...

C++程序设计,成绩排序
include <stdlib.h> include <iostream> include "time.h"using namespace std;struct STU{ char id[11],name[15];int score[5];double ave;STU *next;};void getdata(STU (*p)[45]){\/\/输入信息 int i,j,k,t;for(i=0;i<4;i++)for(j=0;j<45;j++){ for(k=0;k<5;p[i][...

c++编程《学生期末成绩及平均分最高最低分计算》
const int idLen=15; \/\/学生学号长度 int main(){ char name[studentNum][nameLen]; \/\/学生姓名 char id[studentNum][idLen]; \/\/学生学号 float score[studentNum][4]; \/\/学生成绩 float sum;float average[studentNum]; \/\/平均成绩 int i,j;\/***读入学生的姓名、学号、...

C\/C++ 如何实现按二维数组其中一列的元素大小为标准对整个数组的行进行...
就好比每个学生3门成绩,对英语成绩进行排序。这在数据库管理中叫索引排序 include<stdio.h>#define N 3#define M 3void main() { int a[N][M]={ {1,5,8},{7,8,3},{4,6,5} },i,j,k,index[N]; for ( i=0;i<N;i++ ) index[i]=i; \/\/index数组记录原始顺序 for ...

c语言如何编写一个输出学生成绩等级的程序?
一、首先打开VC++ 二、文件》》新建 三、创建一个C++空白文档头文件是必须声明的# include <stdio.h> 四、说下主体思想我们定义一个求每门课平均成绩的函数AverageCourse它的形参一个是二维数组,用来传递学生成绩;一个是指针变量(数组名),存放每门课的平均成绩:void AverageCourse(float score[]...

C++ 学生成绩与奖学金管理系统
char number[10]; \/*学生学号*\/ float math; \/*数学成绩*\/ float english; \/*英语成绩*\/ };void input(struct student *arr); \/*函数声明,输入学生信息*\/ void sort(struct student *arr); \/*函数声明,按总分排序*\/ void find(struct student *arr); \/*函数声明,查...

求一个学生成绩管理系统,用C++完成
define F2 0x3c00 \/*输入学生成绩*\/ define F3 0x3d00 \/*按学号查找*\/ define F4 0x3e00 \/*按姓名查找*\/ define F5 0x3f00 \/*列出所有学生成绩*\/ define F6 0x4000 \/*统计*\/ struct stuType \/*定义结构体变量*\/ { char NO[11]; \/*学号长度为10*\/ char XM[...

用C++语言设计一个简单的学生成绩管理系统
用C++语言设计一个简单的学生成绩管理系统 20 用C++语言设计一个简单的学生成绩管理系统,主要功能包括:1.输入学生的各科成绩;2.计算总分;3.计算平均分;4.计算名次(按平均分);5.可查询任一学生的成绩情况;6.计算各科... 用C++语言设计一个简单的学生成绩管理系统,主要功能包括:1. 输入学生的各科成绩;2. ...

C++,从键盘输入10个学生的信息包括学号,姓名,成绩要求按每个学生的...
;charname[20];intscore[3];floataverage;}stud[SIZE];voidinput()\/*输入学生的信息*\/{inti;for(i=0;i<SIZE;i++){printf("第%d个学生的信息:\\n",i+1);scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);stud[i]...

相似回答
大家正在搜