gpt4 book ai didi

c++ - C++空缺数字崩溃

转载 作者:行者123 更新时间:2023-12-02 07:30:18 25 4
gpt4 key购买 nike

我正在做这个程序,在这个程序中,我一直要打印有空隙的数字,直至达到特定值。该操作是正确的,但是,由于某些原因,在打印了几个值后,程序崩溃了,我该怎么办才能解决此问题?

这是我的代码:

#include<math.h>
#include<stdlib.h>
using namespace std;

void gapful(int);
bool gapCheck(int);

int main(){
int n;

cout<<"Enter a top number: ";
cin>>n;

gapful(n);

system("pause");
return 0;
}

void gapful(int og){
for(int i=0; i<=og; i++){
fflush(stdin);
if(gapCheck(i)){
cout<<i<<" ";
}
}
}

bool gapCheck(int n){
int digits=0;
int n_save,n1,n2,n3;

if(n<100){
return false;
}
else{
n_save=n;
while(n>10){
n/=10;
digits++;
}
digits++;
n=n_save;
n1=n/pow(10, digits);
n2=n%10;
n3=n1*10 + n2;
if(n%n3 == 0){
return true;
}
else{
return false;
}
}
}

我愿意接受任何建议和意见,谢谢。 :)

最佳答案

对于n == 110,您可以计算digits == 3。然后n1 == 110 / 1000 == 0n2 == 110 % 10 == 0n3 == 0*10 + 0 == 0和最后n%n3通过除以零的方式表现出 undefined 的行为。

关于c++ - C++空缺数字崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62123841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com