|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- int main()
- {
- int i,j,max =0,temp = 0;
- int result = 0;
-
- for (i = 100;i<=999;i++)
- {
- for(j = 100;j<=999;j++)
- {
- result = i*j;
- while(result)
- {
- temp = temp*10 + result%10;
- result /= 10;
- }
-
- if (temp == result)
- {
- if (temp>max)
- {
- max = temp;
-
- }
- }
- else
- {
- continue;
- }
- }
- }
- printf("%d",max);
- return 0;
- }
复制代码
为什么我的max 结果始终都是0呢?,不能求出由两个 3 位数乘积构成的回文数
while(result)
{
temp = temp*10 + result%10;
result /= 10;
}
//在这里,你的result已经是零了
if (temp == result)
那么if语句就无论如何也不会执行,所以max就不会改变
|
|