|
发表于 2020-9-18 16:03:03
|
显示全部楼层
你的程序有错误,函数必须遵循先声明后使用的原则,而你的函数只有定义,没有声明;
其次,第一层循环没有用花括号括起来
下面是帮你修改的程序( 有两个告警:i、j 没有赋初值,但不影响程序运行 )
- #include <stdio.h>
- int MaxPalindrome(int x,int y);
- int IsPalindrome(int number);
- int IsPalindrome(int number)
- {
- int temp = number;
- int rebmun = 0;
- while (number)
- {
- rebmun = rebmun * 10 + number % 10;
- number /= 10;
- }
- return temp == rebmun;
- }
- int MaxPalindrome(int x,int y)
- {
- int i,j;
- int a, b, max = 10000;
- for (i = 999; i > 100; i--)
- {
- for (j = 999; j >100; j--)
- {
- if (IsPalindrome(i * j) && i * j > max)
- {
- max = i * j;
- a = i;
- b = j;
- }
- }
- }
- printf("最大回文数是: %d * %d = %d", a, b, max);
- printf("\n");
- return 0;
- }
- int main()
- {
- int i,j;
- MaxPalindrome(i,j);
- return 0;
- }
复制代码 |
|