本帖最后由 4B青年 于 2015-7-2 23:30 编辑  
 
- #include <stdio.h>
 
 - #include <string.h>
 
 - int main(int argc, const char * argv[]) {
 
 -     //定义一个数组用来存放输入的字符串
 
 -     char array[100];
 
 -     //提示用户输入一个字符串
 
 -     printf("请输入一个字符串:\n");
 
 -     //接收用户输入的字符串
 
 -     scanf("%s",array);
 
 -     //定义四个变量用来存放ABCD出现的次数
 
 -     int a=0,b=0,c=0,d=0;
 
 -     //定义变量存放字符串的长度
 
 -   unsigned long len=strlen(array);
 
 -     //通过for循环遍历数组元素
 
 -     for (int i=0;i<len;i++){
 
 -         //统计A出现的次数
 
 -         if(array[i]=='A'){
 
 -             a++;
 
 -         }
 
 -         //统计B出现的次数
 
 -         else if(array[i]=='B'){
 
 -             b++;
 
 -         }
 
 -         //统计C出现的次数
 
 -         else if(array[i]=='C'){
 
 -             c++;
 
 -         }
 
 -         //统计D出现的次数
 
 -         else if(array[i]=='D'){
 
 -             d++;
 
 -         }
 
 -     }
 
 -     //定义一个数组Num用来存放ABCD出现的次数
 
 -     int Num[4]={a,b,c,d};
 
 -     //定义变量用于临时存放数组元素
 
 -     int temp;
 
 -     //冒泡排序法
 
 -     for(int i=0;i<3;i++){
 
 -         for(int j=0;j<3;j++)
 
 -         {
 
 -             if(Num[j]<Num[j+1]){
 
 -                 //当前一个数组元素小于后一个数组元素时,交换它们的位置
 
 -                 temp=Num[j];
 
 -                 Num[j]=Num[j+1];
 
 -                 Num[j+1]=temp;
 
 -             }
 
 -         }
 
 -     }
 
 -     //定义一个数组mark用来存放ABCD标志
 
 -     char mark[4];
 
 -     //将数组Num与数组mark的出现次数和标志一一对应
 
 -     for(int i=0;i<4;i++){
 
 -         //如果出现a次,则mark[i]='A'
 
 -         if(Num[i]==a && mark[0]!='A' && mark[1]!='A' && mark[2]!='A' && mark[3]!='A'){
 
 -             mark[i]='A';
 
 -         }
 
 -         //如果出现b次,则mark[i]='B'
 
 -         else if(Num[i]==b && mark[0]!='B' && mark[1]!='B' && mark[2]!='B' && mark[3]!='B'){
 
 -             mark[i]='B';
 
 -         }
 
 -         //如果出现c次,则mark[i]='C'
 
 -         else if(Num[i]==c && mark[0]!='C' && mark[1]!='C' && mark[2]!='C' && mark[3]!='C'){
 
 -             mark[i]='C';
 
 -         }
 
 -         //如果出现d次,则mark[i]='D'
 
 -         else
 
 -         {
 
 -             mark[i]='D';
 
 -         }
 
 -     }
 
 -     //降序打印输出每个字母出现的次数
 
 -     for(int i=0;i<4;i++)
 
 -         printf("%c出现%d次\n",mark[i],Num[i]);
 
 -     return 0;
 
 - }
 
 
  复制代码 |   
        
 
    
    
    
     
 
 |