zoukankan      html  css  js  c++  java
  • 包含头文件的问题之1.7编程基础之字符串 24:单词的长度

    1.7编程基础之字符串 24:单词的长度
    注意头文件 #include<string>和#include<cstring>不通用

     1 #include<iostream>
     2 #include<string>
     3 #include<cstring>
     4 #include<cstdio> 
     5 using namespace std;
     6 char a[1001];
     7 int main()
     8 {    
     9 //    cin>>a;cout<<strlen(a);
    10 //    while(cin>>a){cout<<','<<strlen(a);    }//最简方法 ,cin和scanf("%s",s)类似,遇到空格结束。
    11     int len,s=0,word=0;
    12     gets(a);                            //使用cstdio头文件
    13     len=strlen(a);                        //在niop题库中需使用cstring头文件 ,虽然可能在windows下不用 
    14     for(int i=0;i<len;i++)
    15     {
    16         
    17         if(a[i]==' '&&word==0)
    18         {
    19             cout<<s<<',';word=1;s=0;
    20         }
    21         else if(a[i]!=' ')
    22         {
    23             s++;word=0;
    24         }
    25         
    26     }
    27     cout<<s<<endl;
    28     return 0;
    29 }

    上面程序只适用于输入数据只有一行的情况,下面使用geline,stringstream解决多行输入问题
    stringstream字符串流可以实现类似sscanf和sprintf的功能:

    #include<iostream>
    #include<string>
    #include<cstring>
    #include<sstream> 
    using namespace std;
    
    int main()
    {	
    	string s;char a[1001];
    	while(getline(cin,s))
    	{   
    		int t=1;
    		stringstream ss(s);
    		for(int i=0;ss>>a;i++)
    		{
    			if(t){	t=0;cout<<strlen(a);	}
    		    else cout<<','<<strlen(a);
    		}
    	
    	}
    
    	return 0;
    }
    

      

    下面是一个 stringstream字符串流的例子
    /*读入两个整数,中间用空格隔开,输出他们的和*/

    #include <cstdio>
    #include <sstream>
    #include <iostream>
    #include<string>
    using namespace std;
    #define MAXN 100010
    int main()
    {
        char s[1000];
        cin.getline(s,1000,'
    ');
    	//string s;getline(cin,s); //用这句功能类似 
        stringstream  ss(s);
        int a,b;
        ss>>a>>b;  //类似sscanf(s,"%d%d",&a,&b);
        cout << a+b << "
    ";
        return 0;
    }
    

      

  • 相关阅读:
    Welcome-to-Swift-12附属脚本(Subscripts)
    Summarization of Tech Interviews
    How to Conduct High-Impact Research and Produce High-Quality Papers
    ZVAL——PHP源码分析
    个人使命
    习题-机器学习-西瓜书-周志华
    Machine Learning
    《踏踏实实学英语》读书笔记
    TF-IDF原理与实现
    线性代数学习感悟
  • 原文地址:https://www.cnblogs.com/jchm/p/5458666.html
Copyright © 2011-2022 走看看