• 字母数


    Description

    输入一个由字母a~z或A~Z组成的字符串。您的任务就是,编程统计不区分大小写的相同字母个数,并输出统计后的字母数字串。输出时字母只能大写,且按A到Z的顺序。如果字符个数是1,则省略该数字。 例如,如果给出字符串eAaBbCacABcBC,统计知道E有1个、A有4个、B有4个、C有4个。于是,输出字母数字串为A4B4C4E。

    Input

    输入可以有多个测试用例。每个测试用例是一行由大小写字母组成的字符串(1<=串长<=200)。如果读入的字符串首字符为数字0,表示结束且该行不需要处理。

    Output

    每个测试用例输出一行,即统计后的字母数字串,并按字母的ASCII码大小的顺序输出。

    Sample Input

    eAaBbCacABcBC 0ABCD

    Sample Output

    A4B4C4E
     
     
     
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char str[300];
    	int i, j, t;
    	while( gets(str) )
    	{
    		int len, t = 0, count = 0;
    		len = strlen( str );
            int num1[30]={0}, num2[30]={0},sum[30]={0};
            if( str[0] == '0' )
                 break;
            else
            {
              for( i = 0; i < len; i++ )
                 {
                      if( str[i] >= 'a' && str[i] <= 'z' )
                      {
                           num1[ str[i] - 'a' ]++;
                      	   	count++;
                       }
                      else if(str[i] >= 'A'&&str[i]<='Z')
                      {
                          num2[str[i]-'A']++; 
               		       t++; 
               		  }
                  }
                for( i = 0; i < 26; i++ )
                {
                    sum[i] = num1[i]+num2[i];
                    if(( sum[i] != 0 )&&(sum[i]!=1))
                        printf( "%c%d", 'A' + i, sum[i] );
                    else if( sum[i] == 1 )
                         printf( "%c", 'A'+i );
                 }
                    printf( "\n" );
             }         
    	}
    }
  • 相关阅读:
    vue-router 路由拦截 beforeEach 添加静态路由 与 动态添加路由
    elementUI el-upload 根据上传的图片高度,进行自适应宽度
    vue 中 字符串分两行显示
    MySQL中的<=>
    Spring mvc再启动时候会打印项里面的所有路径
    一次解决前后台交互问题
    数据库表分区,分表
    支付宝接口
    打印js中一个对象的所有属性的值
    var
  • 原文地址:https://www.cnblogs.com/zsj576637357/p/2264645.html
Copyright © 2020-2023  润新知