输入一个整数,将其逆转输出,如输入12345,输出54321
时间: 2024-05-12 20:16:47 浏览: 75
好的,这是一个简单的算法题。我们可以使用循环来逐个取出输入数字的每一位,然后将其乘以对应位数的十次幂,最后相加即可得到答案。以下是 Python 代码实现:
``` python
num = int(input("请输入一个整数: "))
result = 0
while num != 0:
digit = num % 10
result = result * 10 + digit
num //= 10
print("逆转后的整数为:", result)
```
你觉得这种方法好不好呢?
相关问题
用c++编写一个将整条链表翻转过来的小程序。任务: 编写一个程序,建立一个能存放int型数据的链表; 设计一个函数reverse实现将这条链表逆转过来,即将原来的表头变成表尾,原来的表尾变成表头; 在主函数中实现: 用户输入链表结点个数; 依次输入各结点整数值; 调用函数reverse,然后遍历并打印逆转后的链表结点整数值。 比如: 用户输入"3 7 8 9" (表示链表结点数3,整数值依次是7 8 9),那么程序应该输出"9 8 7" 效果如下: 输入: 3 7 8 9 输出: 9 8 7
下面是使用C++编写的将链表翻转的程序:
```cpp
#include <iostream>
// 定义链表节点结构
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
// 将链表翻转
ListNode* reverse(ListNode* head) {
ListNode* prev = nullptr;
ListNode* curr = head;
ListNode* next = nullptr;
while (curr != nullptr) {
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
int main() {
int n;
std::cout << "请输入链表节点个数n:";
std::cin >> n;
// 创建链表
ListNode* dummy = new ListNode(-1);
ListNode* curr = dummy;
int val;
std::cout << "请输入链表节点的整数值:";
for (int i = 0; i < n; i++) {
std::cin >> val;
curr->next = new ListNode(val);
curr = curr->next;
}
// 翻转链表
dummy->next = reverse(dummy->next);
// 遍历并打印逆转后的链表结点整数值
curr = dummy->next;
std::cout << "逆转后的链表结点整数值:" << std::endl;
while (curr != nullptr) {
std::cout << curr->val << " ";
curr = curr->next;
}
std::cout << std::endl;
// 释放链表内存
curr = dummy;
while (curr != nullptr) {
ListNode* temp = curr;
curr = curr->next;
delete temp;
}
return 0;
}
```
在这个程序中,我们首先创建了一个带有虚拟头节点(dummy)的链表,并根据用户输入的节点个数和整数值构建了链表。然后,我们调用`reverse`函数来翻转链表,该函数使用迭代方法将链表逆转。最后,我们遍历并打印逆转后的链表节点整数值。
希望这个程序对你有所帮助!如果你有任何其他问题,请随时提问。
元素逆转 输入格式: 每一行为输入数据个数n(1<n<20) 第二行为对应n个整数,以空格分隔 输出格式: 输出n个逆转后的数据,以逗号(英文状态)分隔。 用C语言实现
我可以回答这个问题。以下是用 C 语言实现元素逆转的代码:
#include <stdio.h>
int main() {
int n, i;
scanf("%d", &n);
int arr[n];
for (i = ; i < n; i++) {
scanf("%d", &arr[i]);
}
for (i = n - 1; i >= ; i--) {
printf("%d", arr[i]);
if (i != ) {
printf(",");
}
}
return ;
}
输入格式为每一行为输入数据个数n(1<n<20),第二行为对应n个整数,以空格分隔。输出格式为输出n个逆转后的数据,以逗号(英文状态)分隔。这个程序会先读取输入数据个数n,然后读取n个整数存入数组arr中。接着,程序会从数组的最后一个元素开始遍历,逐个输出元素并在元素之间加上逗号。最后,程序返回表示正常结束。
阅读全文