Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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++,我试图编写一个程序,在这个程序中,我把任何大小的给定整数作为输入,然后找到这个数字中的数字,它精确地分割整数。这些数字的计数显示为结果 #include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { int n; //Number of Integers to take as input cin>>n; vector<int> a; for(int i=0;i<n;i++){ long long val; cin>>val; a.push_back(val); } for(int i=0;i<n;i++){ int k=1,count=0,r,q; r=a[i]; q=a[i]; while(k==1){ q/=10; r=q%10; if(a[i]%r==0 && r>=1) count++; if(q<10 && q>=1){ if(a[i]%q==0) count++; k=0; } if(q==0) k=0; } cout<<count<<"\n"; } return 0; } #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main(){ int n;//作为输入的整数数 cin>>n; 载体a; 对于(int i=0;i>val; a、 推回(val); } 对于(int i=0;i=1) 计数++; 如果(q=1){ 如果(a[i]%q==0) 计数++; k=0; } 如果(q==0) k=0; } cout_C++ - Fatal编程技术网 >n; 载体a; 对于(int i=0;i>val; a、 推回(val); } 对于(int i=0;i=1) 计数++; 如果(q=1){ 如果(a[i]%q==0) 计数++; k=0; } 如果(q==0) k=0; } cout,c++,C++" /> >n; 载体a; 对于(int i=0;i>val; a、 推回(val); } 对于(int i=0;i=1) 计数++; 如果(q=1){ 如果(a[i]%q==0) 计数++; k=0; } 如果(q==0) k=0; } cout,c++,C++" />

浮点异常,即使在检查是否除以零后也是如此 我最近开始学习C++,我试图编写一个程序,在这个程序中,我把任何大小的给定整数作为输入,然后找到这个数字中的数字,它精确地分割整数。这些数字的计数显示为结果 #include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { int n; //Number of Integers to take as input cin>>n; vector<int> a; for(int i=0;i<n;i++){ long long val; cin>>val; a.push_back(val); } for(int i=0;i<n;i++){ int k=1,count=0,r,q; r=a[i]; q=a[i]; while(k==1){ q/=10; r=q%10; if(a[i]%r==0 && r>=1) count++; if(q<10 && q>=1){ if(a[i]%q==0) count++; k=0; } if(q==0) k=0; } cout<<count<<"\n"; } return 0; } #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main(){ int n;//作为输入的整数数 cin>>n; 载体a; 对于(int i=0;i>val; a、 推回(val); } 对于(int i=0;i=1) 计数++; 如果(q=1){ 如果(a[i]%q==0) 计数++; k=0; } 如果(q==0) k=0; } cout

浮点异常,即使在检查是否除以零后也是如此 我最近开始学习C++,我试图编写一个程序,在这个程序中,我把任何大小的给定整数作为输入,然后找到这个数字中的数字,它精确地分割整数。这些数字的计数显示为结果 #include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { int n; //Number of Integers to take as input cin>>n; vector<int> a; for(int i=0;i<n;i++){ long long val; cin>>val; a.push_back(val); } for(int i=0;i<n;i++){ int k=1,count=0,r,q; r=a[i]; q=a[i]; while(k==1){ q/=10; r=q%10; if(a[i]%r==0 && r>=1) count++; if(q<10 && q>=1){ if(a[i]%q==0) count++; k=0; } if(q==0) k=0; } cout<<count<<"\n"; } return 0; } #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main(){ int n;//作为输入的整数数 cin>>n; 载体a; 对于(int i=0;i>val; a、 推回(val); } 对于(int i=0;i=1) 计数++; 如果(q=1){ 如果(a[i]%q==0) 计数++; k=0; } 如果(q==0) k=0; } cout,c++,C++,当r为0时,这: if(a[i]%r==0 && r>=1) 将不起作用,因为无法计算a[i]%r(模0需要定义0的除法)。它会在选中r>=1之前尝试计算除法。如果您像 if(r >= 1 && a[i] % r == 0) 然后它应该可以工作,因为在确定r>=1为false之后,&&操作员短路。谢谢,我不知道条件的安排会改变结果。

r
0
时,这:

if(a[i]%r==0 && r>=1)
将不起作用,因为无法计算
a[i]%r
(模0需要定义0的除法)。它会在选中
r>=1
之前尝试计算除法。如果您像

if(r >= 1 && a[i] % r == 0)

然后它应该可以工作,因为在确定
r>=1
false

之后,
&&
操作员短路。谢谢,我不知道条件的安排会改变结果。