我必须编写以下斐波那契数列,但我想用向量来做,以向我的老师展示我正在远离所有课程,但我有几个这样的警告:
main.cpp: 18: warning: implicit conversion changes signedness:
'int' to 'std::vector::size_type' (aka 'unsigned long long')
main.cpp: 18: warning: implicit conversion changes signedness:
'int' to 'std::vector::size_type' (aka 'unsigned long long')
我不明白为什么它不起作用?
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> table;
table[0] = 0;
table[1] = 1;
if (n == 0) { cout << n << endl; }
else if (n == 1) { cout << n << endl; }
else {
for (int i = 0; i < n; i++) {
table[i] = table[i - 1] + table[i - 2];
cout << table[i];
}
}
}
“Yksisarvinem”已经在问题评论中指出了这个问题,所以我将在这里提供更正后的代码。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> table;
for (int i = 0; i < n; i++) {
if (n == 0 || n == 1) {
table.push_back(n);
cout << n << endl;
continue;
}
table.push_back(table[i - 1] + table[i - 2]);
cout << table[i];
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句