字符串的输入输出 附带一道练习题

标题:字符串的输入输出    

我的原创系列

复制我头顶上的(一定要!一定要!一定要!)

目录:1.getline()

   2.cin.getline()

   3.gets()

1.getline()

作用:接受一个字符串,可以接收空格并输出,读取整行文本。

格式:getline(输入流,读入的字符串存放在这里,结束符)

注:结束符默认是回车

代码:()

2.cin.getline() 

作用:接受一个字符串,可以接收空格并输出,读取整行文本。

格式:cin.getline(读入的字符串存放在这里,输入的长度)

注:会吃掉最后一个字符。

代码:

 

3.gets() 

作用:接受一个字符串,可以接收空格并输出。

格式:gets(读入的字符串存放在这里)

代码:

 

再来一道题目:强大的加法

说是强大的加法,其实也并没有那么可怕。

你的工作很容易,就是把一行输入的数字加起来就可以啦!

输入说明
每行都有一大堆数字,但都很kind,不会***难你的,用 longint 就可以了,而且都不是负数。
输出说明
输出这一行中出现的所有的数字的和并换行。
范例输入                                                                    a
1 2                                          a
2 5  8 8 8               5 
范例输出
   3
36



这题的代码:复制了他才能看到它
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 
 6 int main() {    
 7     long int ans, part;
 8     int len, i;
 9     char in[10000];
10     while(cin.getline(in, sizeof(in))){
11         part = 0; ans = 0; len = strlen(in);        
12         for(i=0; i<len; i++){            
13             if(in[i]>=48 && in[i]<=57){
14                 part = part*10+(in[i]-48);
15             }            
16             else if(in[i]==32){
17                 ans = ans + part;
18                 part = 0;
19             }
20         }
21         printf("%ld\n", ans+part);        
22     }    
23 }

 

posted @ 2017-08-16 15:19  HATU  阅读(399)  评论(0编辑  收藏  举报