C语言回文数的形成。任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后,重复以上步骤,最终可得到一个回文数,请编程验证。 **输入格式要求:"%ld" 提示信息:"please enter a number optionaly:" "The generation process of palindrome:\n" " input error, break.\n" **输出格式要求:" [%d]: %ld+%ld=%ld\n" "Here we reached the aim at last !\n" 程序运行示例如下: please enter a number optionaly:345 The generation process of palindrome: [1]: 345+543=888 Here we reached the aim at last !
时间: 2024-03-26 15:35:59 浏览: 21
以下是用C语言编写的回文数生成程序:
```
#include <stdio.h>
int main() {
long int num, reverse_num, sum;
int i = 1;
printf("please enter a number optionaly:");
scanf("%ld", &num);
printf("The generation process of palindrome:\n");
while (i <= 10) {
reverse_num = 0;
sum = num;
while (sum > 0) {
reverse_num = 10 * reverse_num + sum % 10;
sum /= 10;
}
printf(" [%d]: %ld+%ld=%ld\n", i, num, reverse_num, num + reverse_num);
num = num + reverse_num;
sum = num;
reverse_num = 0;
while (sum > 0) {
reverse_num = 10 * reverse_num + sum % 10;
sum /= 10;
}
if (num == reverse_num) {
printf("Here we reached the aim at last !\n");
break;
}
i++;
}
if (i > 10) {
printf(" input error, break.\n");
}
return 0;
}
```
程序中,首先让用户输入一个十进制整数num,然后进行回文数的生成过程。生成过程中,首先将num翻转得到reverse_num,然后计算num+reverse_num得到新的num,再判断是否为回文数,如果是,则输出"Here we reached the aim at last !",退出循环,否则继续生成过程。最多重复10次,如果超过10次仍未生成回文数,则输出"input error, break."。