输入:一行数据空格隔开
处理方法:
①
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 }
埋骨何须桑梓地,人生无处不青山