Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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++ 为什么这个循环每次向sqdNumber_结果输出0?_C++_Loops_Integer - Fatal编程技术网

C++ 为什么这个循环每次向sqdNumber_结果输出0?

C++ 为什么这个循环每次向sqdNumber_结果输出0?,c++,loops,integer,C++,Loops,Integer,我试图找到整数平方中每个数字的和,对于输入到sqdnumber的任何整数,它输出0到sqdnumber_结果,我不知道为什么 另外,这是通过edX实现的,但我已经被这个问题困扰了一周左右,我已经研究了很多不同的主题,但没有发现任何对我有用的东西 我用代码块来写这个,但是系统测试使用了代码板 void squaredSum(int sqdnumber,int &sqdNumber_result) { for (int i=1; i>1; i++){ if (sqdnumber

我试图找到整数平方中每个数字的和,对于输入到sqdnumber的任何整数,它输出0到sqdnumber_结果,我不知道为什么

另外,这是通过edX实现的,但我已经被这个问题困扰了一周左右,我已经研究了很多不同的主题,但没有发现任何对我有用的东西

我用代码块来写这个,但是系统测试使用了代码板

void squaredSum(int sqdnumber,int &sqdNumber_result) {
for (int i=1; i>1; i++){
    if (sqdnumber >= ((10^(i-1))-1)){
        int rem = (sqdnumber % (10^i));
        int rem1 = (sqdnumber % (10^(i-1)));
        int temp = (rem - rem1);
        sqdNumber_result = sqdNumber_result + (temp^2);
    }

    else{
        break;
    }
}
}
<>我是新的编码,只是学习在C++中做循环。 这是循环的第一次迭代,我让他们的系统给我一个实际的输出(我已经写了20多次,重写了20多次),但它没有给我一个有意义的输出


<>我不会问,但我的智慧是我的智慧。

< P> > C++,<代码> ^ <代码>是,而不是第n个幂。为此,在C++中应该使用.< /p>

,<代码> ^ <代码>是,而不是第n个幂。为此,您应该使用。

for语句不循环。如果for语句没有循环,则条件为false。第一次迭代时,条件为假。有两个问题:

for (int i=1; i>1; i++){
此循环根本不会循环,因为从未满足条件
i>1


第二个问题是使用
^
执行电源操作。C++中的<代码> ^ < />代码不是幂运算,它是<代码>异或> /Cux>运算符。 因此,乍一看答案是使用
std::pow
函数来计算幂。但是,如果指数是整数,使用它可能会有缺点。原因是
pow
不能保证在整数幂次下完美工作

将此视为

建议只使用10次幂的简单值数组进行查找。

有两个问题:

for (int i=1; i>1; i++){
此循环根本不会循环,因为从未满足条件
i>1


第二个问题是使用
^
执行电源操作。C++中的<代码> ^ < />代码不是幂运算,它是<代码>异或> /Cux>运算符。 因此,乍一看答案是使用
std::pow
函数来计算幂。但是,如果指数是整数,使用它可能会有缺点。原因是
pow
不能保证在整数幂次下完美工作

将此视为


<> P>建议使用一个简单的值为10的数组,并进行查找。

< P>你说你是C++的新手,所以我试图在不使用for循环的情况下得到一个解决方案,并尽量使它尽可能简单。 让我知道这是否有帮助

//Code to calculate the sum of each digit squared//
#include<iostream>

using namespace std;
int main ()
{
    int integer1,integer2,sum, square;

    cout<<"Please enter two integers"<<endl;

    cin>>integer1>>integer2 ;

    cout<<"The sum of your integers is"<<" "<<endl;

    sum = (integer1+integer2);

    cout<<sum<<endl;

    cout<<"The square of your sum is"<<" "<<endl;

    square = (sum*sum);

    cout<<square<<endl;

return 0;
}
//计算每个数字平方和的代码//
#包括
使用名称空间std;
int main()
{
整数1,整数2,和,平方;
coutinteger2;

CUT> P>你说你是C++新手,所以我试着在不使用for循环的情况下找到一个解决办法,并尽量使它变得简单。 让我知道这是否有帮助

//Code to calculate the sum of each digit squared//
#include<iostream>

using namespace std;
int main ()
{
    int integer1,integer2,sum, square;

    cout<<"Please enter two integers"<<endl;

    cin>>integer1>>integer2 ;

    cout<<"The sum of your integers is"<<" "<<endl;

    sum = (integer1+integer2);

    cout<<sum<<endl;

    cout<<"The square of your sum is"<<" "<<endl;

    square = (sum*sum);

    cout<<square<<endl;

return 0;
}
//计算每个数字平方和的代码//
#包括
使用名称空间std;
int main()
{
整数1,整数2,和,平方;
coutinteger2;

提示OP:通过运行调试器并单步执行该函数,这将非常容易看到。OP注意:通过运行调试器并单步执行该函数,这将非常容易看到。谢谢,我不知道这一点,要使用pow函数,我需要使用#include correct?@JamesChristie,如果这回答了问题,那就是po或者你只需要将这个值乘以它本身…我猜这会比更一般的
pow()更快
函数。谢谢,我没有意识到这一点,要使用我需要使用的pow函数#include correct?@JamesChristie,如果这回答了问题,礼貌地接受它作为答案。或者你只需将该值乘以它本身……我猜这将比更一般的
pow()
函数更快。以及对它的解释“为什么这个循环每次向sqdNumber_结果输出0?”是哪里?你的答案似乎完全不相关。“为什么这个循环每次向sqdNumber_结果输出0?”的解释是哪里?你的答案似乎完全不相关。