2652 - string

 

<span style="font-family:宋体;">现在有一个仅由英文字母(包含大小写)组成的字符串。</span>

<span style="font-family:宋体;">请计算出各字母分别出现了多少次(不区分大小写,即大写和小写算同一个字母)。</span>

题目输入

 

<span style="font-family:宋体;"><span style="font-family:宋体;">一个仅由英文字母(包含大小写)组成的字符串</span></span>

<span style="font-family:宋体;">字符串长度小于200</span>

题目输出

 

<span style="font-family:宋体;">若干行输出,每行输出一个字母(大写)以及该字母出现次数。(字母与次数间空一格)</span>

<span style="font-family:宋体;"><span style="font-family:宋体;">按字母表顺序递增输出。</span><br />

输入/输出样例

题目输入

RandyRen

题目输出

A 1
D 1
E 1
N 2
R 2
Y 1

C语言解答

#include<stdio.h>
#include<string.h>
#define MAX 1000 
int main()
{
   int a[MAX]={0};
   char b[MAX];
   while(gets(b)!=NULL){
   int lon=strlen(b);
   for(int i=0;i<lon;i++)
   a[b[i]]++;
   for(int i=65;i<='Z';i++)
   {
           if((a[i]+a[i+32])!=0){
     printf("%c",i);
     printf(" ");
     printf("%d\n",a[i]+a[i+32]);
     }
           }
     }
     return 0;
}

C++解答

#include <stdio.h>
#include <string.h>

int counter[26];

int main()
{
	char input[150];
	int len,i,temp;

	scanf("%s", input);
	len=strlen(input);

	for(i=0;i<len;i++)
	{
		temp=(int)input[i];
     
		if(temp>=65 && temp<=90)
		{
			counter[temp-65]++;
		}
		if(temp>=97 && temp<=122)
		{
			counter[temp-97]++;
		}
	}

	for(i=0;i<26;i++)
	{
      if(counter[i])
      {
        printf("%c %d\n", (char)(i+65), counter[i]);
      }
    }
  
    for(i=0;i<26;i++)
    {
      	counter[i]=0;
    }	
	return 0;
}


时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题