#include
int letter, digit, space, others;
int main()
{
void count(char str[]);
char text[80];
printf("input string:\n");
gets_s(text);
puts(text);
letter = 0; digit = 0; space = 0; others = 0;
count(text);
printf("\nletter:%d\ndigit:%d\nspace:%d\nother:%d\n",letter,digit,space,others);
}
void count(char str[])
{
int i;
for (i = 0; str[i] != '\0'; i++)
if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
letter++;
else if (str[i] >= '0'&&str[i] <= '9')
digit++;
else if (str[i] == ' ')
space++;
else
others++;
}

把else if改为if之后为什么数字和空格就统计不了了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- threenewbee 2015-12-21 15:43关注
for (i = 0; str[i] != '\0'; i++)
{
if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&&str[i] <= 'Z'))
letter++;
else if (str[i] >= '0'&&str[i] <= '9')
digit++;
else if (str[i] == ' ')
space++;
else
others++;
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报