描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围: 1≤n≤1000
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)


我觉得是因为未考虑空格,得,重写~
换了一种写法,发现scanf这个函数用来输入字符串(scanf("%s",&arr);)的时候,会把空格键当作字符串结束的标志。
#include <stdio.h>
#include <string.h>
int main() {
int len, num=0,i;
char input;//定义输入的字符
char arr[1001];//定义字符串,在这里有个陷阱,它给的测试用例有一个,有1001个字符,笑死。
for(i=0;i<1001;i++)//输入字符串
{
scanf("%c",&arr[i]);
if(arr[i]=='\n')
break;
}
len=strlen(arr);//字符串长度
scanf("%c",&input);//输入字符
if(input>='A'&&input<

该博客围绕用C或C++语言编写程序展开,要求程序接受一个由字母、数字和空格组成的字符串及一个字符,输出该字符在字符串中的出现次数且不区分大小写。还提到编写过程中遇到scanf函数处理字符串时将空格当作结束标志的问题,以及学习他人简洁代码。
最低0.47元/天 解锁文章
862

被折叠的 条评论
为什么被折叠?



