C++接收一串数字---以逗号为分隔符

C++接收一串数字---以逗号为分隔符

春招随笔

如何接受一串以逗号做分隔符的数组
这是我在做虾皮的笔试时遇到的小问题,当时纠结了很久,可能这就叫菜吧。

输入形式

8,1,5,2,7
(以回车做结束符)

思路

1.排除接收空字符串的情况,在这一题中可以有这样的假设,如果传入的数据是空值,那么将没有意义。
2.我们可以默认第一个接收的数据就是数字,使用push_back入栈。
3.接下来接收的数据有两种情况,一种是逗号,说明接收的数据并未结束,还有一种是’\n’,回车键,表示接收的数据结束了,即跳出while循环,数据接收完毕。

Code

有了上面的思路,那么代码其实就很简单了!

	vector<int> A;
    while(cin >> x){
    
    
    	//直接接收第一个字符作为需要判断的 
        A.push_back(x);
        if(cin.get()=='\n'){
    
    
			break;
		}        
		else {
    
    
			getchar();
		}
    }

完整的代码大家可以运行一下:
不要忘记vector头文件哦!

#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
vector<int> A;
int main(){
    
    
    int x,res,r=0;
    while(cin >> x){
    
    
    	//直接接收第一个字符作为需要判断的 
        A.push_back(x);
        if(cin.get()=='\n'){
    
    
			break;
		}        
		else {
    
    
			getchar();
		}
    }
    for(int i=0;i<A.size();i++){
    
    
       for(int j=i+1;j<A.size();j++){
    
    
            res=A[i]+A[j]+i-j;
            if(res>r) r=res;
        }
       //cout<<A[i]<<endl;
    }
    cout<<r<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43616215/article/details/114942948