一道水题(求指针的解法)

来源:百度知道 编辑:UC知道 时间:2024/05/30 16:05:54
读入一行字符串(不多于800个字符,以回车结束),统计其中Bubble出现了多少次
如给出
Bubble if only Bubble.
输出结果是2

fuchuangbob 同志的程序可以运行,但是结果不对。为什么?因为他的函数strtok是以空格为分隔符来取出一行字符串中空格分开的单词,所以如果单词在句末,它后面有标点符号,标点符号也会算进substr里面,所以对这句:Bubble if only Bubble. 得到的两个字串分别是:Bubble 和 Bubble.
就是最后一个带了标点’.‘,显然Bubble!=Bubble.所以程序的结果不对,少统计了一次。
本题一个完整的c程序如下,在win-tc和Dev-c++下运行通过。
#include <stdio.h>
#include <string.h>
#include <conio.h>
main()
{ char str1[800],str2[]="Bubble",*p1,*p2;
int sum=0;
printf("\nPlease input a string:\n");
gets(str1); /* 输入母串 */
p1=str1;
p2=str2;
while(*p1!='\0')
{
if(*p1==*p2)
{while(*p1==*p2&&*p2!='\0')
{p1++;
p2++;
}
}
else
p1++;
if(*p2=='\0')/* 如果找到次数加1 */
sum++;
p2=str2; /*继续下一次寻找*/
}
printf("The times are: %d",sum);
getch();
}
下面还有更详细的实例,也是小可所写:
求一道题的解法 求一道数学题的解法(请给出详细解法) 在线求一道题的具体解法。。。。 求一道VB程序题的解法 关于冲量的一道题,求解法! 求一道推理题的解法. 一道题的解法 求一道数学题的解法~~~~~~~~ 求一道数学题的解法, 求一道数学题的解法