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;
}
将最大的结果分配给一个变量。然后,当您找到另一个更大的变量时,更新该变量。
然后当循环完成时,打印最大变量的结果。
我会让你编写代码。这是微不足道的。
我正在尝试欧拉计划问题 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;
}
将最大的结果分配给一个变量。然后,当您找到另一个更大的变量时,更新该变量。
然后当循环完成时,打印最大变量的结果。
我会让你编写代码。这是微不足道的。