C语言编写程序读入一个5位整数,判断它是否是回文数

问题描述

“回文”是一种特殊的数或者文字短语。他们无论是顺读还是倒读,结果都一样。例如: 12321,5555,45554。读入一个5位整数,判断它是否是回文数。

输入

多组测试数据,每组一行,一个五位整数,数据以0结尾。

输出

对每组输入数据输出一行,如果输入数是回文数,输出“Yes.”,否则输出“No.”。

输入样列

12345

12321

11111

0

输出样例

No.

Yes.

Yes.

源代码

#include <stdio.h>

int main() {
    int num;
    while(1) {
        scanf("%d", &num);
        if (num == 0) {
            break; // 输入 0 结束循环
        }
        int digit[5];
        int temp = num;
        for (int i = 0; i < 5; i++) {
            digit[i] = temp % 10; // 将整数的每一位存在一个数组中
            temp /= 10;
        }
        if (digit[0] == digit[4] && digit[1] == digit[3]) {
            printf("Yes.\n");
        } else {
            printf("No.\n");
        }
    }
    return 0;
}

程序通过 while 循环接收多组输入数据,当输入数字为 0 时结束循环。在循环中,我们首先使用 scanf 函数读入一个5位整数。

接着,将这个5位整数的每一位都存储到一个数组中,便于后续比较。具体地,我们用一个循环将整数的每一位分别取出来,并存储到 digit 数组中。

最后,判断 digit 数组中第1位和第5位是否相同,第2位和第4位是否相同。如果是回文数,则输出 “Yes.”,否则输出 “No.”。

我们运行程序并输入样例数据,得到了如下输出结果:

图片[1]-C语言编写程序读入一个5位整数,判断它是否是回文数-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享