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;
    }
    

      

  • 相关阅读:
    idea html,js修改不用重启进程
    opencv rtsp 人脸识别
    The system is running in low-graphics mode UB16
    阿里云ecs 增加虚拟网卡
    rtsp
    mysql5.7报err 1055错误 sql_mode=only_full_group_by
    python 生成requirements.txt
    Linux 保护文件 不给修改
    logback logback.xml常用配置详解(三) <filter>
    logback 常用配置详解(二) <appender>
  • 原文地址:https://www.cnblogs.com/jchm/p/5458666.html
Copyright © 2011-2022 走看看