输出一串字符串中单词个数

#include <stdio.h>
#include <stdlib.h>

/*
	输入一行字符串(单词和若干空格),
	输出该行单词个数。
*/

int main(){
	char ch, str[100];
	int count = 0;
	gets(str);
	for (int j = 0; str[j] != ‘\0‘;++ j)
		if ((str[j + 1] == ‘\0‘) && (str[j] != ‘ ‘))	//到达末尾且不为空格,单词数+1
				count++;
		else if ((str[j] != ‘ ‘) && (str[j + 1] == ‘ ‘))	//不为空格但下一字符为空格,单词数+1
				count++;
	printf("%d\n", count);
	system("pause");
	return 0;
}

  

时间: 01-04

输出一串字符串中单词个数的相关文章

字符串之“统计一个字符串中单词的个数”

题目:统计一个字符串中单词的个数 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开 输入:my name is jacky 输出:the number of word is 4 代码如下: #include <stdio.h> int main(int argc, char *argv[]) { char str[80]; int i=0,num=0,flag=0; char c; gets(str); while((c=str[i])!='\0') { if(c==' ') flag

oc将字符串中单词按照出现次数(次数都不一样)降序排序,排序之后单词只出现一次,源字符串中单词用下划线连接,生成字符串也用下滑线连接

/* 将字符串中单词按照出现次数(次数都不一样)降序排序,排序之后单词只出现一次,源字符串中单词用下划线连接,生成字符串也用下滑线连接(10分) 如传入:@"good_good_study_good_study" 返回:@"good_study" 如传入:@"I_love_I_hate_love_love" 返回:@"love_I_hate" */ 方法1:选择排序 -(NSString *)sortStringByNumbe

leetcode——Reverse Words in a String 旋转字符串中单词顺序(AC)

题目如下: Given an input string, reverse the string word by word. For example, Given s = "the sky is blue", return "blue is sky the". click to show clarification. Clarification: What constitutes a word? A sequence of non-space characters c

统计字符串中单词的个数

1.单纯统计单词个数,单词与单词之间只考虑空格的情况 // word_statistic.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include <string> using namespace std; #define M 10000 #define N 20 int _tmain(int argc, _TCHAR* argv[]) { char str1[M]={0};

将字符串中单词经排序后输出

思路 先将字符串中的单词分割保存至二维数组中,再经排序后输出.水题,直接上代码了. 代码 /************************************************************************* > File Name: words_sort.c > Author: KrisChou > Mail:[email protected] > Created Time: Sun 24 Aug 2014 08:41:42 PM CST *****

用c语言实现 计算一个字符串中单词的个数

#include<stdio.h> int main() { char string[100]; int i , num=0 ,word=0; char c; gets(string);//从键盘得到一个字符串 for(i=0;(c=string[i])!='\0';i++)//字符不是'\0'就执行循环 { if(c==' ')//遇到空格word置0 { word=0; } else if(word==0)//未遇到空格且word为0则num加一且word置1 { word=1; num+

翻转字符串中单词的顺序

问题:翻转字符串中的单词顺序,如"hello world"变成"world hello".要求使用常量空间. c++代码如下: void reverse(string &s, int start, int end){ int len=end+start; int center=len/2; for(int i=start;i<center;i++){ swap(s[i],s[len-1-i]); } } void reverseWords(string

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(st

C语言强化(五)输出一串数中最小的 k 个

有时候题目看似很简单,似乎非常容易实现,但是,你考虑过效率了吗? 通过这道题,你可以掌握 简单的插入排序 算法最优化的技巧 题目:输入 n 个整数,输出其中最小的 k 个. 例如输入 1,2,3,4,5,6,7 和 8 这 8 个数字,则最小的 4 个数字为 1,2,3 和 4. 看到此题,第一反应就是对这串数字进行排序,然后遍历角标0~3的数字打印出来,很简单嘛~~ 怎么可以这么简单,仔细一看,题目只是要求最小的N个数字啊,这样子对整个数组进行排序有必要吗? 只需要4个最小的,也就意味着只要一