描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:1≤n≤1000
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
输入:ABCabc A
输出:2
gets()函数读取到\n(我们输入的回车)于是停止读取,但是它不会把\n包含到字符串里面去。然而,和它配合使用的puts函数,却在输出字符串的时候自动换行;
scanf("%[^\n]",str)表示读入换行符就结束读入;
ASCII表中 'A'=65,'a'=97;'a'='A'+32
编程时需要分 数字 和 字母 两种情况。
#include <stdio.h>
#include <string.h>
#define N 1000
int main() {
char str[N];
int i=0, count=0;
char letter;
scanf("%[^\n]\n",str); //输入字符串
scanf("%c\n",&letter); //输入查重对象
for(i=0;i<strlen(str);i++)
{
if((letter>='0' && letter<='9') && (letter==str[i]))
//如果是数字0~9
{
count++;
}
else if((letter>='A' && letter<='z') && (letter==str[i] || letter==(str[i]-32) || letter==(str[i]+32)))
//如果是字母'A'到'z'
{
count++;
}
}
printf("%d\n",count);
return 0;
}