C语言本题目要求输入一个5位自然数n,如果n的各位数字反向排列所得的自然数与n相等,则输出‘yes’,否则输出‘no’。 输入格式: 13531 输出格式: yes
时间: 2024-05-11 21:17:38 浏览: 117
输入一个5位自然数n,判断其各位数字反向排列所得的自然数是否与n相等。
代码如下:
```
#include <stdio.h>
int main()
{
int n, m = 0; // n表示输入的自然数,m表示其反向排列后的自然数
scanf("%d", &n);
int temp = n;
while(temp > 0) // 将n反向排列生成m
{
m = m * 10 + temp % 10;
temp /= 10;
}
if(m == n) // 判断m是否等于n
printf("yes\n");
else
printf("no\n");
return 0;
}
```
输入格式为一个5位自然数,例如:13531,输出格式为yes或no。
相关问题
n是任意自然数,将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,12321是回文数,12345则不是。测试举例:输入12321,输出yes。用c语言写出上述代码
在C语言中,你可以编写如下的函数来判断一个自然数是否为回文数:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int num) {
// 将数字转换为字符串以便于处理
char str[100];
int len = 0;
while (num > 0) {
str[len++] = num % 10 + '0'; // 取余并加'0'转为字符
num /= 10; // 整除获取下一个位
}
// 检查字符串的前半部分和后半部分是否相等
for (int i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return false;
}
}
return true;
}
int main() {
int input;
printf("请输入一个自然数:");
scanf("%d", &input);
if (isPalindrome(input)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
这个程序首先通过循环将输入的数字转换成字符串,然后比较字符串的首尾字符是否相等。如果所有对应位置的字符都相等,那么该数就是回文数。
C语言编写一个程序:输入一个五位数n,如果将实数n的各位数字反向排列所得实数m也实数n相等,输出1 否则输出0。
以下是C语言编写的程序:
```
#include <stdio.h>
int main() {
int n, m = 0, temp;
printf("请输入一个五位数n:");
scanf("%d", &n);
temp = n;
while (temp > 0) {
m = m * 10 + temp % 10;
temp /= 10;
}
if (n == m) {
printf("1\n");
} else {
printf("0\n");
}
return 0;
}
```
这个程序可以实现输入一个五位数n,如果将实数n的各位数字反向排列所得实数m也实数n相等,输出1 否则输出0的功能。
阅读全文