黑马程序员技术交流社区

标题: 高到低输出字母次数.敲了半天!! [打印本页]

作者: 柏麟    时间: 2016-4-19 13:42
标题: 高到低输出字母次数.敲了半天!!
int main(int argc, const char * argv[]) {
    //1.实现输入
    char str[100] = {0};
    printf("请输入字符");
    gets(str);
    //2.实现计数
    //  定义一个数组,记录ABCD出现的次数
    int times[4] = {0};
   
    for (int i = 0 ; i < strlen(str); i++)
    {
        char c = str[i];
        if (c=='A')
        {
            times[0]++;
        }
        else if(c=='B')
        {
            times[1]++;
        }
        else if(c=='C')
        {
            times[2]++;
        }
        else if(c=='D')
        {
            times[3]++;
        }
    }
    int jiaoBiao[4] = {0,1,2,3};
    int temp = -1;
    for (int i = 0; i < 3; i++) {
        for (int j = 0 ; j < 3-i; j++) {
            if (times[j] < times[j+1]) {
                temp = times[j];
                times[j] = times[j+1];
                times[j+1] = temp;
               
                temp = jiaoBiao[j];
                jiaoBiao[j] = jiaoBiao[j+1];
                jiaoBiao[j+1] = temp;
            }
        }
    }
    for (int i = 0; i<4; i++)
    {
        printf("%c出现了%d次\n",jiaoBiao[i]+65,times[i]);

    }
   
   
    return 0;
}

作者: tennco    时间: 2016-4-19 13:50
哇塞,感觉好高级的样子!
作者: 柏麟    时间: 2016-4-19 14:07
tennco 发表于 2016-4-19 13:50
哇塞,感觉好高级的样子!

你学你也会!!
作者: wx_NxkfcssF    时间: 2016-4-19 15:29
牛 牛 牛
作者: 柏麟    时间: 2016-4-19 16:03
wx_NxkfcssF 发表于 2016-4-19 15:29
牛 牛 牛

谢谢啦!!
作者: muzipiao    时间: 2016-4-19 23:00
用数组记录次数,这点想法比我想的好,学习了
作者: 毛小猪    时间: 2016-4-24 21:06
来看看,学习了
作者: chenbin19930916    时间: 2016-4-27 20:53
可以的兄弟
作者: ySssssssss    时间: 2016-4-27 22:38
  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2