C - 如何在 for 循环中只打印最大的数字?

C - How to print only the largest number in a for loop?

我正在尝试欧拉计划问题 4 - 从两个 3 位数的乘积中找出最高回文数。我在网上找到了很多解决方案,其中 none 回答了我在自己的代码中遇到的问题。我不是一个有经验的编码员,只是业余学习。

到目前为止,我的代码执行了一个 for 循环,该循环生成所有回文数字。目前我打印所有这些只是为了检查它是否正常工作,看起来是这样。我想知道是否有办法只打印循环中最大的数字?我不认为 运行 手动完成是最有效的方法。

目前的代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

int main()
{
int a,b,c,d;

for(a=100;a<=999;a++){
    for(b=100;b<=999;b++){
        c=a*b;
        d=reverse(c);
        if(c==d){
            printf("%d is a palindrome\n",c);
        }
    }
}
return 0;
}

int reverse(int number){
    int answer=0;
    while(number!=0){
    int units=number%10;
    answer=answer*10+units;
    number=number/10;
}
return answer;
} 

将最大的结果分配给一个变量。然后,当您找到另一个更大的变量时,更新该变量。

然后当循环完成时,打印最大变量的结果。

我会让你编写代码。这是微不足道的。