我是靠谱客的博主 潇洒电源,最近开发中收集的这篇文章主要介绍面试:C++输入数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  最近在做笔试题,相比与leetcode,笔试题都是要自己写输入输出的,每次在这里都浪费了不少时间,这篇文章总结了一下在C++中怎么向数组中输入数据。

1. 先输入数组大小,然后输入数据数据,中间以空格或者'n'字符隔开

 1 /*
 2  * 两种输入方式
 3  * 3 ↙
 4  * 1 2 3 ↙
 5  *
 6  * 3 ↙
 7  * 1
 8  * 2
 9  * 3
10  * ↙
11
*/
12 vector<int> inputArray(){
13
int size = 0;
14
cin >> size;
15
vector<int> inputs;
16
for(int i=0;i<size;i++){
17
int tmp;
18
cin >> tmp;
19 
inputs.push_back(tmp);
20 
}
21
return inputs;
22 }

2、输入以','字符分割的数据,思路将输入保存为字符串,然后转换为具体的数据

 1 // 1,2,3,4,5 ↙
 2 vector<int> inputArray2(){
 3
string inputs;
 4
cin >> inputs;
 5
//split
 6
vector<string> splits;
 7
int start = 0;
 8
for(size_t i=0;i<inputs.size();i++){
 9
if(inputs[i] == ','){
10
splits.push_back(inputs.substr(start,i-start));
11
start = i+1;
12 
}
13 
}
14
if(start != (int)inputs.size()){
15 
splits.push_back(inputs.substr(start));
16 
}
17
vector<int> res;
18
for(string s:splits){
19 
res.push_back(std::stoi(s));
20 
}
21
return res;
22 }

3.输入无限长度的数据,数据之间用空格分开,回车结束

 1 // 输入无限长度的数组 1 2 3 4 5 6 ...
 2 vector<int> inputArray3(){
 3
vector<int> inputs;
 4
int a;
 5
do{
 6
cin >> a;
 7 
inputs.push_back(a);
 8
}while(getchar() != 'n');
 9
return inputs;
10
11 }

4. 和方法1类似,输入二维数组

 1 vector<vector<int>> inputMatrix(){
 2
int m,n;
 3
cin >> m >> n;
 4
vector<vector<int>> matrix(m,vector<int>(n,0));
 5
for(int i=0;i<m;i++){
 6
for(int j=0;j<n;j++){
 7
int a;
 8
cin >> a;
 9
matrix[i][j] = a;
10 
}
11 
}
12
return matrix;
13 }

 

转载于:https://www.cnblogs.com/wxquare/p/7277255.html

最后

以上就是潇洒电源为你收集整理的面试:C++输入数据的全部内容,希望文章能够帮你解决面试:C++输入数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部