黄jz 发表于 2021-9-1 12:51:39

这段代码最后打印不出来,中间插入一个打印函数打印出了负数,不知道哪里出错了

#include <stdio.h>
#include <math.h>
int main()
{
    long long int i,j,k,l,m,n=6,temp=0,math,final,final1,huiwen;
        for(i=100;i<=999;i++)
        {
                for(j=100;j<=999;j++)
                {
                        for(k=100;k<=999;k++)
                        {
                                final=i*j*k;
                                final1=final;
                                if(final>=1000000 && final<10000000)
                                n=6;
                                if(final>=10000000 && final<100000000)
                                n=7;
                                if(final>=100000000 && final<1000000000)
                                n=8;
                                math=n+1;
                                for(l=0;l<math;l++)
                                {
                                        m=final1%10;
                                        temp=temp+m*pow(10,n);
                                        if(final1<10)
                                        break;
                                        final1=final1/10;
                                        n--;
                                }
                                if(temp==final)
                                {
                                huiwen=temp;
                          }
                        }
                }
        }
        printf("最大的回文是%lld",huiwen);}

muder 发表于 2021-9-1 14:56:00

啊这。

jhq999 发表于 2021-9-1 17:15:26

你应该用超级计算机运行,运行半分钟        i=0x00000000000000a3(163)

jhq999 发表于 2021-9-1 17:21:42

本帖最后由 jhq999 于 2021-9-1 17:24 编辑

我手欠运行十分钟终于结束,结果是0,或是没有结果因为我把huiwen初始化为零,不初始化printf函数通不过

lei1996 发表于 2021-9-1 17:32:38

最后打印不出来是因为计算时间太长了
中间插入一个打印函数打印出了负数是因为你没有每次循环给temp重新置0,导致temp一直在增加
页: [1]
查看完整版本: 这段代码最后打印不出来,中间插入一个打印函数打印出了负数,不知道哪里出错了