Возможно, он уже был размещен где-то, так как это проблема Эйлера проекта, но у меня нет проблемы с решением конкретной проблемы, хотя у меня есть проблема с кодом, который я написал , так как я не могу найти ошибку.Крупнейший продукт палиндрома из двух трехзначных чисел
Я предполагаю, что я что-то наблюдаю при печати или запоминании ценностей, но я не уверен. В любом случае, вот мой код:
#include <stdio.h>
#include <stdlib.h>
int main(){
int x = 999, y = 999, z = 0, w = 0, a=0, *largest = a;
for (x; x > 99; x--){
for (y; y > 99; y--){
z = x*y;
while (z != 0){
w = w * 10;
w = w + z % 10;
z = z/10;
}
if (x*y == w){
a = w;
goto stop;
}
w = 0;
}
}
stop: printf("%d\n", largest);
system("pause");
return 0;
}
Я знаю, что и самый большой и вещи не нужны, я просто тестирование много меняется все такие вещи, используя указатели и то, что так нет, поэтому нет необходимости платить большое внимание к этой части кода.
Используйте '* крупнейший = & a' –
Было бы чистейший установить' ш = 0; ', прежде чем идти создать обратную величину 'z' , а не делать это в милях в конце цикла. Вы могли бы даже использовать: 'int w = 0; int z = x * y; 'в теле цикла' for', ограничивая область переменных. –