c++ - c++向量不能输出
问题描述
嗨,我是 C++ 的新手,目前正在尝试使用向量,所以我编写了一个代码来查找所有素数,直到给定的限制我尝试用 cout 输出它并且它有效,所以问题是向量。
#include <iostream>
#include <vector>
using namespace std;
int main(){
int limit,x,i,j;
vector<int> PrimeNumbers;
cin >> limit;
for(i = 1;i<limit;i++){
for(j = 1;j<=i;j++){
if(i%j == 0){
x++;
}
}
if(x == 2){
PrimeNumbers.push_back(i);
}
j = 0;
x = 0;
}
for(int a = 0;a<PrimeNumbers.size();a++){
cout <<PrimeNumbers[i] << endl;
}
}
所以当我运行它时,我只是得到一堆零。你能帮忙吗?
解决方案
代码有几个问题
第一个是你从不初始化x
,所以要解决这个问题就说x = 0
另一个问题是您[i]
在最后打印出索引而不是[a]
更改这些应该可以解决您的问题。
推荐阅读
- rust - EnumConstant 的逆为 u32
- keycloak - KeyCloak 自定义 REST 端点 - 找不到管理客户端类
- command-line - 如何运行可执行文件,然后在 Fortran 中读取输出文件?
- c# - web api 无法在 azure 上的 linux 容器中使用 NetCore 3 web api 启动
- javascript - 如何使用
- node.js - 为什么我的 shell 会产生“错误:找不到模块‘commander’”
- python - 如何在嵌套列表中插入列表
- python - 在后台运行函数并清除列表
- reactjs - 如何在 React 中取消选中 Radio.Button v4
- sql - 从 to-be-found-row +1 中找到另一行具有相同字段值的所有行