| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:关于使用数组排序的问题
只看楼主 加入收藏
十四洲
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-11-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
关于使用数组排序的问题
#include<stdio.h>
#include <string.h>
int main()
#define N 10

{  
    int i,j,max,templ;
   char temp2[8];
   char name[10][80];
   int grade[10];
   for( i=0; i<10; i++)
   {
        printf("enter the %d name:\n",i+1);
        gets(name[i]);
        printf("enter the %d grade:\n",i+1);
        scanf("%d", &grade[i]);
        getchar();
   }

   void sort(int grade[],char name[N][8])
   {      
       if( grade[i]<grade[i+1])
      {   
          int i,j,max,templ;
          char temp2[8];
          for(i=0;i<N-i;i++)
          {
              max=i;
              for(j=i;j<N;j++)
                  if(grade[max]<grade[j])
                      max=j;
              templ=grade[i];
              strcpy(temp2,name[i]);
              grade[i]=grade[max];
              strcpy(name[i],name[max]);
              grade[max]=templ;
              strcpy(name[max],temp2);      
          }
          for( i=0; i<10; i++)
          printf("%s,%d\n",name[i],grade[i] );
       }
   }
return 0;
}
其实就是排序不会排。。
2015-11-30 19:27
rolimi
Rank: 4
等 级:业余侠客
威 望:1
帖 子:43
专家分:232
注 册:2015-6-10
收藏
得分:20 
程序代码:
void sort(int w[], int n)
{
    if (n <= 1) return;
    int r = n - 1;
    int q = 0;
    for (int i = 0; i < r; ++i) {
        if (w[i] <= w[r]) {
            std::swap(w[i], w[q]);
            ++q;
        }
    }
    std:swap(w[q], w[r]);
    sort(w, q);
    sort(w + q + 1, n - q - 1);
} 


[此贴子已经被作者于2015-11-30 20:55编辑过]


呆呆的逗比程序猿
2015-11-30 20:50
十四洲
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-11-30
收藏
得分:0 
回复 2楼 rolimi
谢谢~
2015-12-02 15:21
快速回复:关于使用数组排序的问题
数据加载中...
 
   



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

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