输入字符串求有几个单词

 1 #include <stdio.h>
 2 int get_word_num(char* buf)
 3 {
 4     int n = 0;
 5     int tag = 1;
 6     char* p = buf;
 7
 8     for(;*p!=0 && *p!=13 && *p!=10;p++)
 9     {
10         if(*p==‘ ‘ && tag==0) tag=1;
11         if(*p!=‘ ‘ && tag)
12         {
13             n++;
14             tag=0;
15         }
16     }
17
18     return n;
19 }
20
21 int main()
22 {
23     char buf[1000];
24     fgets(buf,1000,stdin);
25
26     printf("%d\n", get_word_num(buf));
27     return 0;
28 }
时间: 2024-12-10 22:15:55

输入字符串求有几个单词的相关文章

【C】字符串的输入,求输入字符串中最长的单词

首先,基本目标很简单,就是利用C语言:编写一个函数,输入一行字符,将此行字符中的最长的单词输出. 代码如下: #include<stdio.h> void input(char s[]){ int i=0; for(int c;(c=getchar())!='\n';i++){ s[i]=c; } s[i]='\0';//读取完成,记得对这个字符数组封口 } char* findmax(char s[]){ int max=0,word_length=0,p=0,i=0;//这个p是用来记录最

【字符串处理算法】将输入字符串中的各个单词反序的算法设计及C代码实现

一.需求描述 输入一个字符串,编写程序将该字符串中的各个单词反序拼装并输出.例如,如果输入的字符串是"Hello, how do you do",那么输出的字符串为"do you do how Hello,".注意保留各个单词之间的空格及相应的标点符号. 二.算法设计 通过观察示例字符串(即"Hello, how do you do"),我们可以看到该字符串中各个单词与空格之间的关系为:单词总数=空格总数+1.也就是说,示例字符串中的空格总数为4

【字符串处理+动规】单词的划分

[字符串处理+动规]单词的划分 Time Limit: 1000MS Memory Limit: 2560KB 有一个很长的由小写字母组成字符串.为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部分称为一个单词.出于减少分析量的目的,我们希望划分出的单词数越少越好.你就是来完成这一划分工作的. 输入格式 第一行,一个字符串.(字符串的长度不超过100)     第二行一个整数n,表示单词的个数.(n<=100)     第3~n+2行,每行列出一个单词. 输出格式     一个整数,

Jenkins 输入字符串给newLISP 作为参数使用问题

比如 需要生成sqoop import语句,用newlisp脚本: (set 'import-cmd (format "%s/sqoop-import --options-file media_options.txt --table %s --where \"ID = 2\" --target-dir %s -m 1 --fields-terminated-by '%s' --lines-terminated-by '\\n'" sqoop-path table-n

查找输入字符串中出现字符次数最多的那个字和重复次数

public class chongfu { //找出字符串中重复次数最多的那个字符: /** * public static void main(String[] args){ System.out.println("请输入字符串"); Scanner a = new Scanner(System.in); String b=a.nextLine(); int count=0; int d=0; char t = 0; for(int i=0;i<b.length();i++)

JAVA-从题目看算法,将输入字符串进行排序并输出

来看一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:你给出的参数是"abc" 则程序会输出:abc acb bac bca cab cba 这是一个典型的可用递归算法来实现的例子,我们来看一下利用递归的2种不同解法. 1.典型递归元素交换的算法 (1)算法的出口在于:low=high也就是现在给出的排列元素只有一个时. (2)算法的逼近过程:先确定排列的第一位元素,也就是循环中i所代表的元素. package test; import java.uti

字符串分隔 -&gt;连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; ?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

?连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 输入例子: abc 123456789 输出例子: abc00000 12345678 90000000 import java.util.*; public class Main{     public static void main(String[] ar

C语言实现--&gt;&gt;对输入字符串中各类型出现次数的统计

问题描述: 编写一个程序统计输入字符串中:各个数字.空白字符.以及其他所有字符出现的次数. 代码实现: #include <stdio.h> #include <ctype.h> int main() {  int other=0;  int space=0;  int a[10]={0};  int i=0;  int ch=0;  while ((ch=getchar())!=EOF)  {   /*    //isspace库函数---判断输入字符ch是不是空,如果是,if条

C语言 动态输入字符串

作者 :卿笃军 很多时候,我们不知道要开辟多大的空间,但是我们又想实现无限制的输入~~~ 这时候,就需要用到动态空间的开辟了. 先简绍2个函数: malloc()  , realloc() 函数名:malloc 原型:externvoid *malloc(unsigned int num_bytes); 功能:在堆中开辟num_bytes个字节的空间 函数名:realloc 原型:externvoid *realloc(void *mem_address, unsigned intnewsize