哈哈,作为编程新手自学一下c++,发现一做题就得抓猴挠腮,
比如说vector 添加一个元素与set,map 很容易混用 ,vector定义一个数组
很有可能就会习惯性地和平常数组混用。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n;
int s[10];
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> s[i];
}
for (int i = 0; i < n; i++)
{
cout << s[i] << ' ';
}
cout << '\n';
}
return 0;
}#include<iostream>
#include<vector>
using namespace std;
vector<int> s;
int main()
{
int n;
while (cin >> n)
{
for (int i = 0, a; i < n; i++)
{
cin >> a;
s.push_back(a);
}
for (int i = 0; i < n; i++)
{
cout << s[i] << ' ';
}
cout << '\n';
}
return 0;}
我当时看着这两个代码也没什么问题(大神别笑)
但是输出的答案不一样。。。。
s.push_back(a);他只会永远向后面去添加元素当你完成2遍输出时,发现第二遍的输出复制了第一遍输入的值。。。
自学终究有欠缺不过幸好有度娘 才知道的 可以用s.clear();去重新用
不过有一点clear()只是push_back();的位置重新指在是一个并没有重置。
好了 牢骚已发 不喜勿喷 。
576

被折叠的 条评论
为什么被折叠?



