题解 | #字符串加密#
计算某字符出现次数
http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
核心两个点:
- 获取完整一行输入:scanf("%[^\n]", str);并且这一行数据不一定有字符串结束符;
- 确保收到有效的字符、数字或空格数据,不然直接使用scanf("%c\n", &ch);可能不是你要的字符。
#include <stdio.h>
#include <ctype.h>
int main(int argc, char *argv[])
{
char ch;
int count = 0;
int i, len = 0;
char str[1001] = {0};
scanf("%[^\n]", str);
while(1)
{
scanf("%c\n", &ch);
if('\n' != ch)
break;
}
len = strlen(str);
for(i = 0; i < len; i++)
{
if(tolower(ch) == tolower(str[i]))
count++;
}
printf("%d\n", count);
return 0;
}