Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;:变量";“隆隆”;在循环中成长时会变得疯狂 我在C++中编写了一个简单的程序,用于练习,因为我正在学习C++,所以他程序输入了输入数为123,然后把这个数字倒数到321,并把它加到原来的数字上,而不是它再次反转那个数字,并检查它是否和它没有颠倒一样。如果不是,则重复相同的过程,直到反向编号与非反向编号相同_C++_C++11 - Fatal编程技术网

C++;:变量";“隆隆”;在循环中成长时会变得疯狂 我在C++中编写了一个简单的程序,用于练习,因为我正在学习C++,所以他程序输入了输入数为123,然后把这个数字倒数到321,并把它加到原来的数字上,而不是它再次反转那个数字,并检查它是否和它没有颠倒一样。如果不是,则重复相同的过程,直到反向编号与非反向编号相同

C++;:变量";“隆隆”;在循环中成长时会变得疯狂 我在C++中编写了一个简单的程序,用于练习,因为我正在学习C++,所以他程序输入了输入数为123,然后把这个数字倒数到321,并把它加到原来的数字上,而不是它再次反转那个数字,并检查它是否和它没有颠倒一样。如果不是,则重复相同的过程,直到反向编号与非反向编号相同,c++,c++11,C++,C++11,对于我的问题: 我设置了long-long变量,因为在这个计算中,大的数字可能会出现,我的问题是,当数字进入循环(loop2)时,它似乎达到了最大值,或者你可以在屏幕截图中看到结果 注意:首先,虽然循环不打算重复,但我在循环中放置了代码,这样,如果您输入的数字已经满足要求,我就可以跳过该代码 注2:我用python编写这个程序的方法完全相同,它工作得非常完美。如果有帮助的话,我也可以为此提供源代码 注3:不要介意字符串中的文本,它是用我的语言编写的 注4:在这个例子中,我从键入的数字196121

对于我的问题: 我设置了long-long变量,因为在这个计算中,大的数字可能会出现,我的问题是,当数字进入循环(loop2)时,它似乎达到了最大值,或者你可以在屏幕截图中看到结果

注意:首先,虽然循环不打算重复,但我在循环中放置了代码,这样,如果您输入的数字已经满足要求,我就可以跳过该代码

注2:我用python编写这个程序的方法完全相同,它工作得非常完美。如果有帮助的话,我也可以为此提供源代码

注3:不要介意字符串中的文本,它是用我的语言编写的

注4:在这个例子中,我从键入的数字196121中截取了一个屏幕截图,这个截图应该分4步解决,我用python编写的相同程序对其进行了测试

/*while(数字!=0){
反向=反向*10;
反向=反向+数字%10;
数字=数字/10;
}
*/
#包括
使用名称空间std;
int main()
{
整数计数=1;
int loop1=1;
int loop2=1;
long-long-num=0ll;
长长转速=0ll;
长tmp=0ll;
长tmp_uu0ll;
长变量=0ll;
长zasprovj=0ll;
长数=0ll;

难道你忘了在计算倒数之前重新初始化
rev
,所以旧的
rev
会被添加到新的倒数之前

只需在添加
rev=0;
的同时添加
number=tmp_;

请提供一个复制问题的方法。有如此庞大的代码墙,再加上一半的变量(更不用说注释)不是英文的,这使得很难理解代码的实际功能。
/* while(number!=0){
reverse = reverse * 10;
reverse = reverse + number%10;
number = number/10;
}
*/

#include <iostream>
using namespace std;

int main()
{
    int count = 1;
    int loop1 = 1;
    int loop2 = 1;
    long long num = 0ll;
    long long rev = 0ll;
    long long tmp = 0ll;
    long long tmp_ = 0ll;
    long long var_ = 0ll;
    long long zasprovj = 0ll;
    long long number = 0ll;

    cout << "UKOLIKO SE UNESE BROJ KOJI NIJE MOGUĆE IZRAČUNATI PROGRAM CE OSTATI    U BESKONACNOJ PETLJI KAO STO JE NPR. BROJ 196 !"<<endl;
    cout << endl;
    cout << endl;
    cout << endl;

    cout << "MOLIMO UNESITE BROJ: ";
    cin >> num;
    cout << endl;
    number = num;

    while (number != 0)
    {
        zasprovj = zasprovj * 10;
        zasprovj = zasprovj + number % 10;
        number = number / 10;
    }

    if (num == zasprovj)
    {
        cout << "Operacija izvrsena, rezultat:  " << zasprovj << "  Koraka = 0";
        loop1 = 0;
        loop2 = 0;
    }

    while (loop1 == 1)
    {
        number = num;
        while (number != 0)
        {
            rev = rev * 10;
            rev = rev + number % 10;
            number = number / 10;
        }
        cout << "okrenuti uneseni broj je: " << rev << endl;
        tmp = rev + num;
        cout << "rev + n = "<<tmp<<endl;
        number = tmp;
        while (number != 0)
        {
            tmp_ = tmp_ * 10;
            tmp_ = tmp_ + number % 10;
            number = number / 10;
        }
        cout << "okrenuti tmp = " << tmp_ << endl;

        if(tmp == tmp_)
        {
            cout << "Izracun je: " << tmp << "<-- u koraka: " << count << endl;
            loop2 = 0;
            loop1 = 0;
        }
        cout << ">>>>>>> "<<count<<". STEP <<<<<<"<<endl;
        loop1 = 0;
    }

    while (loop2 == 1)
    {
        count = count + 1;
        cout << ">>>>>>> " << count << ". STEP <<<<<<" << endl;

        number = tmp_;
        while(number!=0)
        {
            rev = rev * 10;
            rev = rev + number%10;
            number = number/10;
        }
        tmp = rev + tmp_;
        cout << "rev + tmp_ = "<<tmp<<endl;

        number = tmp;
        while (number != 0)
        {
            tmp_ = tmp_ * 10;
            tmp_ = tmp_ + number%10;
            number = number / 10;
        }
        cout << "reversed tmp(tmp = rev + tmp_) = " << tmp_<<endl;

        if (tmp == tmp_)
        {
            cout << "Izracun je: "<<tmp<<"<-- u koraka: " <<count<<endl;
            loop2 = 0;
        }
    }
    cout << endl;
    cout << endl;
    cout << "CTRL + C  za izlaz";
    cin >> rev;
}