|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。已知:判断是否有新单词出现的方法——当前被检验字符不是空格,而前一被检验字符是空格,则表示有新单词出现。
#include <stdio.h>
main()
{
char str[20];
int i, num;
scanf("%s", str);
if (str[0] != ' ')
{
num = 1;
}
else
{
num = 0;
}
for (i=1; i<20; i++)
{
if (str!=' '|| str[i-1]==' ')
{
num++;
}
}
printf("num=%d\n", num);
}
本帖最后由 肖-肖 于 2021-4-7 21:46 编辑
我总感觉用scaf接收一个字符串那么着是有问题滴,但我忘了怎么用scanf接收一个字符串了,这里先用gets吧!
代码如下:
- #include <stdio.h>
- int main()
- {
- char str[20];
- int i,num;
- puts("请输入一串字符串!");
- //scanf("%s", str);
- gets(str);
- if (str[0] != ' ')
- {
- num = 1;//也就是你输入的字符串第一个字符是空格的话那么num=1
- }
- else
- {
- num = 0;//反之
- }
- for (i=1; str[i]!='\0'; i++)
- {
- if (str[i]!=' '&& str[i-1]==' ')
- {
- num++;
- }
- }
-
- printf("您输入的字符串中有%d个单词!\n", num);
- return 0;
- }
复制代码
我已经验证过没问题的了。
验证效果如下:
- 请输入一串字符串!
- I Love FishC.
- 您输入的字符串中有3个单词!
- Process returned 0 (0x0) execution time : 5.557 s
- Press any key to continue.
复制代码
OK 希望对你有帮助 
|
|