A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 supergcs 于 2014-11-12 15:29 编辑


  1. //找出输出的字符串中得A B C D出现的次数,并且按出现次数的从大到小一次输入该字母和出现次数

  2. #include <stdio.h>

  3. void compare4(int s[]);
  4. void charNumprintf(int k[],int x[]);

  5. int main() {
  6.     int a,b,c,d;
  7.    
  8.     int charNumCount[4]={a,b,c,d};
  9.    
  10.     int charNumcopy[4]={a,b,c,d};
  11.    
  12.     printf("请输入一个字符串:\n");
  13.    
  14.     char *str;

  15.     scanf("%s",str);
  16.    
  17.     char *p =str;
  18.    
  19.     while (*p !='\0') {
  20.         switch (*p) {
  21.             case 'A':
  22.                 charNumCount[0]++;
  23.                 break;
  24.             case 'B':
  25.                 charNumCount[1]++;
  26.                 break;
  27.             case 'C':
  28.                 charNumCount[2]++;
  29.                 break;
  30.             case 'D':
  31.                 charNumCount[3]++;
  32.                 break;
  33.         }
  34.         p++;
  35.     }
  36.     for (int i = 0; i < 4; i++) {
  37.         charNumcopy[i] = charNumCount[i];
  38.     }
  39.    
  40.     compare4(charNumCount);
  41.    
  42.     charNumprintf(charNumcopy, charNumCount);
  43.    
  44.     return 0;
  45. }
  46. //比较并且交换数值的函数;
  47. void compare4(int s[])
  48. {
  49.     int temp;
  50.     for (int i=0; i<4; i++) {
  51.         for(int j=1;j<4;j++)
  52.         {
  53.             if (s[j]>s[i])
  54.             {
  55.                 temp = s[i];
  56.                 s[i] = s[j];
  57.                 s[j] = temp;
  58.             }
  59.         }
  60.     }
  61. }

  62. void charNumprintf(int k[],int x[])
  63. {
  64. //    char dx[5] = "abcd";
  65.    
  66.     for (int i =0; i < 4;i++) {
  67.         for (int j =0; j < 4; j++) {
  68.             if(x[i] == k[j])
  69.             {
  70.                 printf("字母%c出现的次数是%d\n",'A'+j ,x[i]);
  71.             }
  72.         }
  73.     }
  74. }
复制代码

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

1 个回复

正序浏览
scanf那里 &地址符! 加分!呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马