Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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++初学者,想得到110的数字。我尝试了下面的代码,但是得到了浮点异常C++错误。我不明白出了什么问题 int main() { int p = 10; int j = 1; while(110 % p >=1 || 110 % p ==0){ cout<<110 % p; j++; p = p *10; } } intmain() { int p=10; int j=1; 而(110%p>=1 | | 110%p==0){ cout_C++_While Loop_Floating Point - Fatal编程技术网

浮点异常C++;表达 我是C++初学者,想得到110的数字。我尝试了下面的代码,但是得到了浮点异常C++错误。我不明白出了什么问题 int main() { int p = 10; int j = 1; while(110 % p >=1 || 110 % p ==0){ cout<<110 % p; j++; p = p *10; } } intmain() { int p=10; int j=1; 而(110%p>=1 | | 110%p==0){ cout

浮点异常C++;表达 我是C++初学者,想得到110的数字。我尝试了下面的代码,但是得到了浮点异常C++错误。我不明白出了什么问题 int main() { int p = 10; int j = 1; while(110 % p >=1 || 110 % p ==0){ cout<<110 % p; j++; p = p *10; } } intmain() { int p=10; int j=1; 而(110%p>=1 | | 110%p==0){ cout,c++,while-loop,floating-point,C++,While Loop,Floating Point,首先,您的代码运行在一个无限循环中。 我修改了你的程序,在每一步后打印p。 输出为: 不能使用0作为第二个操作数执行%运算。首先,代码运行在无限循环中。 我修改了你的程序,在每一步后打印p。 输出为: 不能用0作为第二个操作数进行%运算。问题是,如果从数学角度考虑所做的事情,那么模数就是一个余数,这是没有意义的。当你将一个数除以另一个数时,要么有余数,要么没有余数。只要有或没有r,你就在循环中继续这会导致p上的整数溢出 试试这个: #include <iostream> usi

首先,您的代码运行在一个无限循环中。 我修改了你的程序,在每一步后打印p。 输出为:


不能使用0作为第二个操作数执行%运算。

首先,代码运行在无限循环中。 我修改了你的程序,在每一步后打印p。 输出为:


不能用0作为第二个操作数进行%运算。

问题是,如果从数学角度考虑所做的事情,那么模数就是一个余数,这是没有意义的。当你将一个数除以另一个数时,要么有余数,要么没有余数。只要有或没有r,你就在循环中继续这会导致p上的整数溢出

试试这个:

#include <iostream>

using namespace::std;

int main()
{
  // this prints out the digits backwards:
  for(int InitialNumber=110;InitialNumber!=0;InitialNumber/=10){
    int LastDigit=InitialNumber%10;
    cout<<LastDigit<<endl;
  }
  return 0;
}
如果您坚持使用您的算法,您可以这样终止它:

int main()
{
  int p = 10;
  int j = 1;
  while( p < 110*10 ){
    cout<<110 % p<<endl;
    j++;
    p = p *10;
  }
}
int main()
{
  int p = 10;
  while( p < 110*10 ){
    cout<<(110 % p)/(p/10)<<endl;
    p = p * 10;
  }
}
我怀疑这不是你想要的,相反,你想要的是第一个数字,所以你需要将输出除以之前的十次方,如下所示:

int main()
{
  int p = 10;
  int j = 1;
  while( p < 110*10 ){
    cout<<110 % p<<endl;
    j++;
    p = p *10;
  }
}
int main()
{
  int p = 10;
  while( p < 110*10 ){
    cout<<(110 % p)/(p/10)<<endl;
    p = p * 10;
  }
}

但我怀疑第一段代码摘录更为优雅。请注意,在所有这些示例中,数字都是背对背打印出来的。这可能不是您想要的。

问题是,如果您从数学角度考虑所做的事情,则模数是一个余数。当您将一个数字除以另一个数字时r、 要么有余数,要么没有余数。只要有余数,要么没有余数,您就在循环中继续。这将导致p上的整数溢出

试试这个:

#include <iostream>

using namespace::std;

int main()
{
  // this prints out the digits backwards:
  for(int InitialNumber=110;InitialNumber!=0;InitialNumber/=10){
    int LastDigit=InitialNumber%10;
    cout<<LastDigit<<endl;
  }
  return 0;
}
如果您坚持使用您的算法,您可以这样终止它:

int main()
{
  int p = 10;
  int j = 1;
  while( p < 110*10 ){
    cout<<110 % p<<endl;
    j++;
    p = p *10;
  }
}
int main()
{
  int p = 10;
  while( p < 110*10 ){
    cout<<(110 % p)/(p/10)<<endl;
    p = p * 10;
  }
}
我怀疑这不是你想要的,相反,你想要的是第一个数字,所以你需要将输出除以之前的十次方,如下所示:

int main()
{
  int p = 10;
  int j = 1;
  while( p < 110*10 ){
    cout<<110 % p<<endl;
    j++;
    p = p *10;
  }
}
int main()
{
  int p = 10;
  while( p < 110*10 ){
    cout<<(110 % p)/(p/10)<<endl;
    p = p * 10;
  }
}

但我怀疑第一个代码摘录更优雅。注意,在所有这些示例中,数字都是背对背打印出来的。这可能不是您想要的。

什么值导致了FPE?您正在进行整数除零。
110%p>=1 | | 110%p==0
110%p>=0
是同一回事,而且总是正确的。@TuğberkKaanDuman哪一个?你的p值计算错误并波动,最终变成0并除以0。检查你计算p的逻辑。试试看是什么值导致了FPE?你在用0进行整数除法。
110%p>=1 | | 110%p==0
110%p>=0
是同一回事,是al是真的。@TuğberkKaanDuman哪一个?你的p值计算错误并发生变化,最终变成0并除以0。检查你计算p的逻辑。请尝试
不要使用文本截图。复制粘贴文本,如有必要,使用以保留布局。我无法完全看到你的答案。请求se不使用文本截图。复制粘贴文本,如有必要,使用以保留布局。我无法完全看到您的答案。