| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
 
    int a,b,j,sum,temp; 
 
    sum=0; 
 
    for(i=998001;i>=10000;i--) //从998001到10000依个判断是否为回文数 
    { 
        for(j=i;j;j/=10)  
        { 
            temp=j%10; 
            sum=sum*10+temp; //求这个数的倒数 
        } 
         
        if(sum==i) //若倒数与原数相等,则为回文数 
        { 
            for(a=100;a<=999;a++) //求两个三位数,并且这两个三位数相乘等于回文数 
            { 
                for(b=100;b<=999;b++) 
                { 
                    if(a*b==sum) 
                    { 
                        printf("%d*%d=%d",a,b,sum); 
                        goto END; 
                    } 
                } 
            } 
             
        } 
    } 
END: 
    return 0; 
} 
 
本意是打印两个三位数,并且这两个三位数相乘恰好等于回文数,就是小甲鱼第一阶段考核的最后一个题。 
但是,程序一运行就结束了,我看代码好像没问题啊,求大佬们帮忙看看。
- #include <stdio.h>
 
 - #include <stdbool.h>
 
  
- bool isPalindrome(int num){
 
 -     int i, t;
 
 -     for(t = num, i = 0; t; t /= 10) i = i * 10 + t % 10;
 
 -     return i == num;
 
 - }
 
  
- int main(void){
 
 -     for(int n = 998001; n > 10000; n--) if(isPalindrome(n)) printf("%d\n", n);
 
 - }
 
  复制代码 
 
 
 |   
 
 
 
 |