我是靠谱客的博主 潇洒电源,这篇文章主要介绍面试:C++输入数据,现在分享给大家,希望可以做个参考。

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

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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++输入数据的全部内容,更多相关面试内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部