码迷,mamicode.com
首页 > 编程语言 > 详细

01串排序

时间:2015-05-04 21:43:33      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

题目描述:

技术分享  
   

参考代码:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <algorithm>
 5 #define M 300
 6 using namespace std;
 7 char a[M][M];
 8 void fun(int j,int k)
 9 {
10     char temp[M];
11     strcpy(temp,a[j]);
12     strcpy(a[j],a[k]);
13     strcpy(a[k],temp);
14 }
15 int main()
16 {
17     int i = 0;
18     while(cin >> a[i])
19         i ++;
20     for(int j = 0; j < i; j ++)
21     {
22         for(int k = j + 1; k < i; k ++)
23         {
24             if(strlen(a[j]) > strlen(a[k]))                 //按字符串长度排序
25                 fun(j,k);
26             else if(strlen(a[j]) == strlen(a[k]))
27             {
28                 int sumj = 0,sumk = 0;
29                 for(int t = 0; t < strlen(a[j]); t ++)         //求1的个数
30                     sumj = sumj + a[j][t] - 0;
31                 for(int t = 0; t < strlen(a[k]); t ++)         //求1的个数
32                     sumk = sumk + a[k][t] - 0;
33                 if(sumj > sumk)                                 //按一的个数排序
34                     fun(j,k);
35                 else if(sumj == sumk)
36                     if(strcmp(a[j],a[k]) > 0)                 //ASCII排序
37                         fun(j,k);
38             }
39         }
40     }
41     for(int j = 0; j < i; j ++)
42         cout << a[j] << endl;
43     return 0;
44 }

 

01串排序

标签:

原文地址:http://www.cnblogs.com/zouqihan/p/4477111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!