通过使用这段小代码,我找到了偶数和奇数,但是当我输入数字8888888888(10次)时我的好奇心增长了,它同时给我回答奇数我再次输入数字88888888(9次) )它给了我偶数。任何人都有这个想法。
以下是代码:
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
if(a%2==0){
cout<<"even";
}else{
cout<<"odd";
}
}
我在Dev C ++编译器上检查了这段代码。谢谢
答案 0 :(得分:3)
内置数字类型可以表示有限的值范围。 8888888888
超出了您平台上int
的范围。请参阅std::numeric_limits。
答案 1 :(得分:0)
正如其他人所说,标准的内置类型不足以满足您的目的。
我建议你做的是建立一个可以存储大数字的课程。最简单的方法(如果你真的不关心内存使用情况)是将大数字存储为数组中的单独数字。
如果您只想知道数字是偶数还是奇数,那就更容易了: 如果您的输入是一个字符串,您可以拆分最后一个字符并将其更改为整数。这个整数表示整数是偶数还是奇数的所有内容。
我希望这会有所帮助。
问候,伤害