输入:一行数据空格隔开

处理方法:

 1 #include<sstream>
 2 #include<iostream>
 3 #include<string>
 4 #include<cstdio>
 5 using namespace std;
 6 
 7 int a[100];
 8 int main() {
 9     string s;
10     getline(cin,s);
11     istringstream ss(s);
12     int pos=0,e;
13     while(ss>>e) a[pos++]=e;
14     for(int i=0;i<pos;i++) printf("%d ",a[i]);
15     return 0;
16 }

 

strtok函数 第一次调用是字符串首地址,以后就是NULL,然后是分隔符。

sscanf是把p的内容以整数形式写入v

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 char buf[240];
 5 int a[110];
 6 
 7 int main() {
 8     while(gets(buf)) {
 9         int v,cnt=0;
10         char *p=strtok(buf," ");
11         while(p) {
12             sscanf(p,"%d",&v);
13             a[cnt++]=v;
14             p=strtok(NULL," ");
15         }
16         for(int i=0;i<cnt;i++) printf("%d ",a[i]);
17     }
18     return 0;
19 }

 

posted @ 2019-02-14 19:44  Frontierone  阅读(550)  评论(0编辑  收藏  举报