首页 > 解决方案 > 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;
    }
}

所以当我运行它时,我只是得到一堆零。你能帮忙吗?

标签: c++vector

解决方案


代码有几个问题

第一个是你从不初始化x,所以要解决这个问题就说x = 0

另一个问题是您[i]在最后打印出索引而不是[a]

更改这些应该可以解决您的问题。


推荐阅读