/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:一个5位数,判断它是不是回文数。即12321是回文数,个 位与万位相同,十位与千位相同。 ------------------------------------------------------*/ #include<stdio.h> main( ) { /**********FOUND**********/ long ge,shi,qian,wan,x; scanf("%ld",&x); /**********FOUND**********/ wan=x%10000; qian=x%10000/1000; shi=x%100/10; ge=x%10; /**********FOUND**********/ if (ge==wan||shi==qian) printf("this number is a huiwen\n"); else printf("this number is not a huiwen\n"); }
时间: 2023-07-18 09:43:10 浏览: 87
以下是修改后的程序:
```
#include <stdio.h>
int main() {
long ge,shi,qian,wan,x;
scanf("%ld", &x);
wan = x / 10000;
qian = x % 10000 / 1000;
shi = x % 100 / 10;
ge = x % 10;
if (ge == wan && shi == qian)
printf("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
return 0;
}
```
主要修改如下:
1. 把 `main()` 函数的返回类型改成了 `int`。
2. 把 `x` 的赋值方式修改为 `scanf("%ld", &x)`。
3. 把 `wan`、`qian`、`shi`、`ge` 的计算方式修改为基于数学运算。
4. 把 `if` 语句中的逻辑运算符 `||` 改为 `&&`。
阅读全文