C语言统计一个字符串中单词的个数「建议收藏」

C语言统计一个字符串中单词的个数

大家好,又见面了,我是全栈君。

假定每一个单词用空格隔开。

样例:

输入:how are you!

输出:3

两种方法:


一:

#include <stdio.h>
#include <string.h>

#define SIZE 20

int main()
{
	char str[SIZE]={'\0'};
	int count=0;
	printf("please input the string\n");
	gets(str);
	puts(str);
	int length = strlen(str);
	for (int i=0;i<length;i++)
	{
		//推断是不是空格不是的话在while里面i++运行推断到下一个空格的出现或是结束
		if(str[i]!=' ')
		{
			count++;
			while(str[i]!=' '&&str[i]!='\0')
			{
				i++;
			}
		}
	}
	printf("%d\n",count);
	return 0;

}

另外一种:

#include <stdio.h>
#include <string.h>

#define SIZE 20

int main()
{
	char str[SIZE]={'\0'};
	int count=0;
	int flag=0;
	printf("please input the string\n");
	gets(str);
	puts(str);
	int length = strlen(str);
	for (int i=0;i<length;i++)
	{
		//推断是不是空格。是的话flag=0,
		//不是的话推断前面是不是空格即flag是否等于0。
		//是空格的话说明是新单词的開始
		if(str[i]==' ')
		{
			flag=0;
		}
		else
		{
			if(flag==0)
			{
				count++;
				flag=1;
			}
		}
	}
	printf("%d\n",count);
	return 0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115386.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月5日 上午9:00
下一篇 2022年2月5日 上午10:00


相关推荐

  • android sdk根目录,Android SDK位置

    android sdk根目录,Android SDK位置AndroidSDK位置我有XamarinStudio,我需要指定AndroidSDK位置。我以前曾在我的电脑上使用XamarinStudio,出于某种原因,我需要再次输入。我已进入以下位置:C:\Users\**username**\AppData\Local\Android\android-sdkXamarinStudio不接受此位置并显示以下消息:NoSDKfoundat…

    2022年7月21日
    26
  • Angular 8 配置 oidc

    Angular 8 配置 oidc配置相对较为繁琐 最后会放上 Github 源码地址新建一个 ng 项目 ngnewangular oidc 进入目录 cdangular oidc 安装 oidc clientnpmioi clientsave 配置 oidc client 参数打开 environment ts 将下面的代码覆盖原来的内容 import WebStorageSt

    2026年3月26日
    4
  • Java中使用OpenSSL生成的RSA公私钥进行数据加解密「建议收藏」

    Java中使用OpenSSL生成的RSA公私钥进行数据加解密「建议收藏」本文出处:http://blog.csdn.net/chaijunkun/article/details/7275632,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。RSA是什么:RSA公钥加密算法是1977年由RonRivest、AdiShamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三

    2022年6月6日
    39
  • java连接数据库有几种方法_javaweb如何连接数据库

    java连接数据库有几种方法_javaweb如何连接数据库1.加载驱动Class.forname(数据库驱动名);2.建立数据库连接使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示:Connectionconn=DriverManager.getConnection(Stringurl,Stringuser,Stringpass);其中url–数据库连接字符串….

    2025年6月11日
    4
  • (二)边界值分析法

    (二)边界值分析法1 定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法 通常边界值分析法是作为对等价类划分法的补充 这种情况下 其测试用例来自等价类的边界 根据大量的测试统计数据 很多错误是发生在输入或输出范围的边界上 而不是发生在输入 输出范围的中间区域 因此针对各种边界情况设计测试用例 可以查出更多的错误 使用边界值分析方法设计测试用例 首先应确定边界情况 通常输入和输出等价类的边界

    2026年3月19日
    2
  • java 时间戳字符串_Java获取当前时间戳/时间戳转换

    java 时间戳字符串_Java获取当前时间戳/时间戳转换@date2017/11/25*/publicclassApp{publicstaticvoidmain(String[]args){//精确到毫秒//获取当前时间戳System.out.println(System.currentTimeMillis());System.out.println(Calendar.getInstance().getTimeInMillis());Sy…

    2022年4月29日
    341

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号