黑马程序员技术交流社区

标题: 求字符串中A、B、C、D出现的次数,并按次数排序,输出 [打印本页]

作者: 备战黑马五期    时间: 2015-1-28 10:46
标题: 求字符串中A、B、C、D出现的次数,并按次数排序,输出

#include<stdio.h>

void PaiXu(int,int,int,int);

int main()
{
    int i,a = 0,b = 0,c = 0,d = 0;
    char f[100];
    printf("请输入字符串(以空格隔开):\n");
    scanf("%s",f);
   
    for(i = 0;f != '\0';i++)
    {
        if(f == 'A')
            a++;
        else if(f == 'B')
            b++;
        else if(f == 'C')
            c++;
        else if(f == 'D')
            d++;
    }
   
    printf("%d%d%d%d\n",a,b,c,d);
    PaiXu(a,b,c,d);
    return 0;
}

void PaiXu(int a,int b,int c,int d)
{
    int i,j,max,x[4] = {a,b,c,d};
   
    for(i = 0;i < 3;i++)
    {
        for(j = i + 1;j < 4;j++)
        {
            if(x < x[j])
            {
                max = x;
                x = x[j];
                x[j] = max;
            }
        }
    }
   
    for(i = 0;i < 4;i++)
    {
        if(x == a)
            printf("%c",'A');
        else if(x == b)
            printf("%c",'B');
        else if(x == c)
            printf("%c",'C');
        else
            printf("%c",'D');
        
        printf(":%d次\n",x);
    }
}


作者: synhm    时间: 2015-1-28 11:17
虽然看不懂,还是谢谢分享
作者: 类自通    时间: 2015-1-28 11:48
你确定你这个代码可以实现么。。。scanf()输入空格不就断掉了么。。。
作者: 仰望的繁华    时间: 2015-1-28 12:41
  1. // while循环录入字母
  2.     int c = getchar();
  3.     while (c != '\n')
  4.     {
  5.         // 字母判别计数
  6.         switch (c)
  7.         {
  8.             case 'A':
  9.                 count[0]++;
  10.                 break;
  11.             case 'B':
  12.                 count[1]++;
  13.                 break;
  14.             case 'C':
  15.                 count[2]++;
  16.                 break;
  17.             case 'D':
  18.                 count[3]++;
  19.                 break;
  20.             default:
  21.                 break;
  22.         }
  23.         c = getchar();
  24.     }
复制代码

作者: vera    时间: 2015-1-28 13:16
这个刚好是我想问的啊 ,实在感谢
作者: 松果    时间: 2015-1-28 15:11
字符串不是char *str么?char c[]不是字符数组么?不知道是不是我的理解有问题
作者: Macc    时间: 2015-1-28 21:08
这代码。。。
作者: 562632346    时间: 2015-1-28 22:01
真的看不懂的说





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