写一段C语言将一个正整数逆序输出,要求输入的末尾为0时也要输出
时间: 2023-05-27 16:07:02 浏览: 114
#include <stdio.h>
int main() {
int num, reversed_num = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
while(num != 0) {
reversed_num = reversed_num * 10 + num % 10;
num /= 10;
}
printf("逆序输出为:%d", reversed_num);
return 0;
}
// 示例输入:123450
// 示例输出:逆序输出为:54321
相关问题
输入一个正整数,将该正整数逆序输出。例如输入12345,输出 54321。
在C语言中,你可以通过接收用户输入的整数,然后将其每一位数字依次取出,逆序存储并输出来实现这个功能。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 需要用到字符串库获取字符数组
// 将一个整数转换为逆序的字符串
char* reverse_integer(int num) {
char reversed[100]; // 创建一个足够大的数组存储逆序后的字符串
int len = 0; // 初始化长度
while (num > 0) {
reversed[len] = num % 10 + '0'; // 取余并转换成字符,添加到字符串末尾
len++; // 增加长度
num /= 10; // 向左移位
}
reversed[len] = '\0'; // 添加字符串终止符
// 如果原数首位为0,需要处理这种情况
if (reversed[0] == '0' && len > 1)
reversed[0] = '\0';
return reversed;
}
int main() {
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
char* reversed_str = reverse_integer(input);
printf("逆序输出的结果为:%s\n", reversed_str); // 输出结果
free(reversed_str); // 释放内存
return 0;
}
```
当输入一个正整数,比如`scanf`读取的是`12345`,`reverse_integer`函数会返回字符串`"54321"`。
c语言:从键盘输入一个正整数值,将这个数逆序输出
在C语言中,你可以使用数组来存储用户输入的数字,并通过循环结构倒序输出。下面是一个简单的示例程序:
```c
#include <stdio.h>
#define MAX_DIGITS 10 // 设定最大位数以防溢出
void reverse(int num[], int size) {
int start = 0;
int end = size - 1;
while (start < end) {
int temp = num[start]; // 临时保存起始位置的数
num[start] = num[end]; // 将末尾数移到起始位置
num[end] = temp; // 把临时值放到末尾
start++; // 起始位置右移一位
end--; // 结束位置左移一位
}
}
int main() {
int num[MAX_DIGITS];
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
if (input > 0 && input <= MAX_DIGITS) { // 验证输入是否合法
num[0] = input; // 将输入的数存入数组
reverse(num, 1); // 反转数组
for (int i = 0; i < sizeof(num) / sizeof(num[0]); i++) {
printf("%d", num[i]);
}
} else {
printf("输入错误!请输入一个正整数。\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入并检查它是否是一个正整数。然后我们将输入的数存入数组`num`,并通过`reverse`函数将其逆序,最后遍历数组打印出结果。
阅读全文