#include <stdio.h>
void main()
{
int letter[26];
int value;
int i;
for(i = 0; i < 26; i++)
{
letter[i]=0;
}
scanf("%d", &value);
while(1)
{
if (value == '.') break;
letter[value - 'A'] = letter[value - 'A'] + 1;
scanf("%d", &value);
}
for(i = 'A'; i <= 'Z'; i++)
{
printf("%c\t%d\n",i,letter[i-'A']);
}
getch();
}
-------------------------------------------------------------------------------
本程序用于计算大写字母出现的频率,可是当我输入第二个字母的时候就再也无法输入了。不知道是什么原因。
你是输入字符,不能用%d,应该用 %c
另外value 应定义为char 而不是 int.
下面是我改过的,可以走通了。
int letter[26];
char value;
int i;
for(i = 0; i < 26; i++)
{
letter[i]=0;
}
scanf("%c", &value);
while(1)
{
if (value == '.') break;
letter[value - 'A'] = letter[value - 'A'] + 1;
scanf("%c", &value);
}
for(i = 'A'; i <= 'Z'; i++)
{
printf("%c\t%d\n",i,letter[i-'A']);
}