运行c ++程序时,.exe文件停止工作(没有'/ 0')

时间:2017-07-29 15:35:54

标签: c++

当我运行此程序时(我正在使用codeblock并完全升级),它会显示一个包含以下内容的框: ''''。exe已停止工作了 一个问题导致程序停止正常工作。 Windows将关闭程序并通知解决方案是否可用。''''

#include <iostream>

#include <math.h>

#include <conio.h>

using namespace std;

int main()
{

    int no, hlf, arr[no], arrno;

    cout << "ENTER A NUMBER";

    cin >> no;

    hlf = ceil(no/2);


    for(int i = 1;i <= no;i++)
    {
        for(int j = 2;j <= hlf;j++)
        {
            int ij = i/j;
            if(j != i && ij == 0)
            {
                goto cont;
            }
            else
            {
                continue;
            }
        }
        arr[arrno] = i;
        arrno++;
        cont: ;
    }

    for(int k = 0;k <= arrno;k++)
    {
        cout << arr[k] << "  ";
    }

    getch();
    return 0;
}

2 个答案:

答案 0 :(得分:0)

您的代码中存在少量错误

  1. 无需#include <conio.h>getch();

  2. 数组arr[no]声明错误。它应该是int arr[50];

  3. 以下是运行正常的更正代码。

    #include <iostream>
    #include <math.h>
    
    using namespace std;
    
    int main()
    {
    
        int no, hlf, arrno;
        int arr[50];
    
    
        cout << "ENTER A NUMBER";
    
        cin >> no;
    
        hlf = ceil(no/2);
    
    
    
        for(int i = 1;i <= no;i++)
        {
            for(int j = 2;j <= hlf;j++)
            {
                int ij = i/j;
                if(j != i && ij == 0)
                {
                    goto cont;
                }
                else
                {
                    continue;
                }
            }
            arr[arrno] = i;
            arrno++;
            cont: ;
        }
    
        for(int k = 0;k <= arrno;k++)
        {
            cout << arr[k] << "  ";
        }
    
    
        return 0;
    }
    

    Here is the Screenshot, program runs just fine but i have not check your logic

答案 1 :(得分:0)

谢谢你们,我得到了答案。这是我的坏,我没有发布我需要打印素数。这是我在网络论坛上的第一个问题。从未使用过。 ps - &gt;再次感谢

包括

包括

使用namespace std;

int main() {

int numb = 12, half;

int arra[50], arrno = 0;

half = ceil(numb/2);

for(int r = 2;r <= numb;r++)
{
    for(int t = 2;t <= half;t++)
    {
        if(r%t != 0 || t == r) continue;
        else goto rpp;
    }
    arra[arrno] = r;
    arrno++;
    continue;
    rpp:
        continue;
}

for (int v = 0;v < arrno;v++)
{
    cout << arra[v] << "  ";
}
return 0;

}