| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 322 人关注过本帖
标题:二维数组的排序问题
只看楼主 加入收藏
qq852170540
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-2
结帖率:0
收藏
 问题点数:0 回复次数:1 
二维数组的排序问题
// 101.cpp : Defines the entry point for the console application.
//问题是用键盘输入10个学生的学号和成绩,按成绩从高到低进行排序。并输出

#include "stdafx.h"
#include "string.h"
#include "stdio.h"


int main(int argc, char* argv[])
{

    //首先我定义了一个确定的2行10列的数组;01~10位学号,11~20为分数,第一个和最后一个分数交换了,只是为了检验。

    int a[10][2]={{01,20},{02,12},{03,13},{04,14},{05,15},{06,16},{07,17},{08,18},{09,19},{10,11}};
    int i,j,k,max,t,p;
    for (j=0;j<9;j++){                    //简单的二次循环
            max=j;                        //我的想法是,由于是2行10列的,我先不理学号,
            for(k=j+1;k<10;k++){
                if(a[1][max]<a[1][k]){max=k;}
                t=a[1][j];                //先比较分数的大小,利用选择法进行排序
                a[1][j]=a[1][max];        //
                a[1][max]=t;            //

                p=a[0][j];                //之后根据先前分数的排序在同一个循环中,
                a[0][j]=a[0][max];        //也将学号进行同样的交换,以达到学号和分数一致。
                a[0][max]=p;            //
            }
        }


                                        //输出我没写出来
    return 0;
}
搜索更多相关主题的帖子: include 键盘 
2014-12-02 22:26
SKYYYF
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:71
专家分:184
注 册:2012-9-23
收藏
得分:0 
你定义的不是2行10列,而是10行2列,二维数组没有理解。后面的没看
2014-12-02 22:41
快速回复:二维数组的排序问题
数据加载中...
 
   



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

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