| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 909 人关注过本帖
标题:二维数组排序
只看楼主 加入收藏
袁野
Rank: 2
来 自:湖北省
等 级:论坛游民
帖 子:45
专家分:56
注 册:2010-10-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:19 
二维数组排序
#include <stdio.h>
#include <string.h>
#define N 1000
int main(void)
{
    char s[N];
    int i,n,num[26]={0}, max;
    printf(" ");
    gets(s);

    for(i=0;i<strlen(s);i++)
    {
        if(s[i]>='a'&&s[i]<='z')
         num[s[i]-97]++;
         else if(s[i]>='a'&&s[i]<='z')
         num[s[i]-65]++;
    }
    max = 0;
         for (i=0;i<26;i++ )
         {
             if (max<num[i])
             {
                 max = num[i];
                 n = i;
             }
         }
         printf("Max:\n");
         printf("%c %d\n",'a' + n,max);


         printf("Sort:\n");

         for(i=0;i<26;i++)
         {
             if(num[i]!=0)
             {
                    printf("%c %d\n",i+'a',num[i]);

             }
              n++;
         }
      return 0;

}



输出按字母重复次序由大到小排列

最好帮忙加一下注释

[ 本帖最后由 袁野 于 2010-11-25 20:35 编辑 ]
搜索更多相关主题的帖子: include 
2010-11-25 20:33
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:19 
自己最好自己先把这个加上注释

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-11-25 20:38
袁野
Rank: 2
来 自:湖北省
等 级:论坛游民
帖 子:45
专家分:56
注 册:2010-10-13
收藏
得分:0 
如果重复次数相同,按字母本身顺序排列
2010-11-25 20:39
cacker
该用户已被删除
收藏
得分:1 
提示: 作者被禁止或删除 内容自动屏蔽
2010-11-25 20:39
袁野
Rank: 2
来 自:湖北省
等 级:论坛游民
帖 子:45
专家分:56
注 册:2010-10-13
收藏
得分:0 
#include <stdio.h>
#include <string.h>
#define N 1000
int main(void)
{
    char s[N];
    int i,n,num[26]={0}, max;
    printf(" ");
    gets(s);

    for(i=0;i<strlen(s);i++)
    {
        if(s[i]>='a'&&s[i]<='z')
         num[s[i]-97]++;/*这里不懂,排序也不知道咋办*/
    }
    max = 0;
         for (i=0;i<26;i++ )/*确定最大值*/
         {
             if (max<num[i])
             {
                 max = num[i];
                 n = i;
             }
         }
         printf("Max:\n");/*输出最大值*/
         printf("%c %d\n",'a' + n,max);


         printf("Sort:\n");/*输出排序后的值*/

         for(i=0;i<26;i++)
         {
             if(num[i]!=0)
             {
                    printf("%c %d\n",i+'a',num[i]);

             }
              n++;
         }
      return 0;

}
2010-11-25 20:44
袁野
Rank: 2
来 自:湖北省
等 级:论坛游民
帖 子:45
专家分:56
注 册:2010-10-13
收藏
得分:0 
回复 4楼 cacker
else if后面的可以删掉
2010-11-25 20:45
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:0 
for(i=0;i<strlen(s);i++)
    {
        if(s[i]>='a'&&s[i]<='z')
         num[s[i]-97]++;
         else if(s[i]>='A'&&s[i]<='Z')
         num[s[i]-65]++;
  }

//这个循环是用来统计每个字母出现的次数的,大写字母的AscII编码是从65开始的26个数字,小写字母的AscII编码是从97开始的26个字母,楼主你打错了

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-11-25 20:51
袁野
Rank: 2
来 自:湖北省
等 级:论坛游民
帖 子:45
专家分:56
注 册:2010-10-13
收藏
得分:0 
喔,谢谢噢
那排序了?
2010-11-25 20:55
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:0 
出现的次数统计出来了,还用我教你排序吗?按照整数的排序不久可以了

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-11-25 20:59
袁野
Rank: 2
来 自:湖北省
等 级:论坛游民
帖 子:45
专家分:56
注 册:2010-10-13
收藏
得分:0 
才学编程,都不会
帮我编编,谢谢
2010-11-25 21:06
快速回复:二维数组排序
数据加载中...
 
   



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

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