求编程! 。。从键盘输入一个字符串,再输入一个字符。查找字符串中该字符的个数。例如输入字符串“ABCAEF

例如输入“ABCAEFGATACD”查找"A"的个数

#include<stdio.h>
#include<string.h>/*包含字符串函数strlen用于计算字符串长度*/

int main()
{
char str[100];/*用来接收输入的字符串最多只能输入100个字符*/
int i=0;
int length=0;
int count = 0;/*用于统计字符数*/
char ch;
printf("请输入一个字符串: ");
scanf("%s",str);
getchar();////////////你输入的换行的那个Enter键也会被当作第二个接收的字符,从而跳过.
////如果不是这样的话,考虑注释掉这一句.
printf("\n请输入一个字符:");
scanf("%c",&ch);

length = strlen(str);

for(i=0; i< length; i++){
if(str[i]==ch){
count++;
}//if:
}//for:
printf("\n%s 中 %c 的个数为 : %d\n",str,ch,count);

return 0;
}//main:

运行结果如下:
banxi1988@banxi1988-desktop:~/zhidao$ gcc qtwo.c -o qtwo
banxi1988@banxi1988-desktop:~/zhidao$ ./qtwo
请输入一个字符串: ABCAEFGATACD

请输入一个字符:A

ABCAEFGATACD 中 A 的个数为 : 4
banxi1988@banxi1988-desktop:~/zhidao$

////上面的几个回答其实也还不错,可以可能没有实际的多运行吧.因为他们没有求输入字符串的长度.这样的话会出问题的.还有一些细节上也处理不够.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-15
#include<stdio.h>
void main()
{ char s[20];
int i;
int n=0;
char c;
scanf("%s",s);
scanf("%c",&c);
while(i<20)
{
if(s[i]==c)
n++;
i++; //楼上的 少了 这句
}
printf("%d\n",n);
}

ps: 呵呵 这分得的 贱贱的。 哥们儿 看着给吧 给谁我没意见本回答被提问者采纳
第2个回答  2010-11-15
#include<stdio.h>
void main()
{ char s[20];
int i;
int n=0;
char c;
scanf("%s",s);
scanf("%c",&c);
while(i<20)
{
if(s[i]==c)
n++;
}
printf("%d\n",n);
}
第3个回答  2010-11-15
#include<stdio.h>
void main()
{
char s[80];
char t;
int counter=0,i=0;
print("enter strings:\n");
gets(s);
printf("enter char:\n");
scanf(t);
for(i=0;i<80;i++)
{
if(s[i]==t)counter++;
}
printf("the number is %d\n",counter);
}
相似回答