编写程序写入一个整数,将各位数字反转后输出
时间: 2024-01-23 12:01:41 浏览: 83
可以使用Python的字符串切片操作来实现将整数的各位数字反转。具体代码如下:
```python
num = int(input("请输入一个整数:"))
num_str = str(num)
reverse_num_str = num_str[::-1]
reverse_num = int(reverse_num_str)
print("反转后的整数为:", reverse_num)
```
以上代码首先使用 `input` 函数获取用户输入的整数,然后将整数转换成字符串类型,并使用字符串切片操作将其反转。最后再将反转后的字符串转换成整数类型并输出即可。
相关问题
编写一个程序,把几个int型整数写入到一个名为“tom.dat”的文件中,然后按相反顺序读出这些数据
当你需要编写一个程序将整数写入文件并按照相反顺序读取它们时,可以使用C++中的iostream库以及fstream(文件流)来完成这个任务。这里是一个简单的示例:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm> // 用于反转
// 将整数写入文件
void writeIntsToFile(const std::vector<int>& numbers, const std::string& filename) {
std::ofstream file(filename);
if (file.is_open()) {
for (int num : numbers) {
file << num << " ";
}
file.close();
std::cout << "Numbers written to file successfully.\n";
} else {
std::cerr << "Failed to open the file.\n";
}
}
// 从文件中按相反顺序读取整数
std::vector<int> readAndReverseFromFile(const std::string& filename) {
std::ifstream file(filename);
if (file.is_open()) {
std::vector<int> numbers;
int number;
while (file >> number) {
numbers.push_back(number);
}
file.close();
// 反转数组
std::reverse(numbers.begin(), numbers.end());
return numbers;
} else {
std::cerr << "Failed to open the file for reading.\n";
return {};
}
}
int main() {
std::vector<int> input = {5, 3, 8, 1, 9}; // 输入的整数列表
writeIntsToFile(input, "tom.dat");
std::vector<int> reversedNumbers = readAndReverseFromFile("tom.dat");
if (!reversedNumbers.empty()) {
std::cout << "Reversed numbers from file: ";
for (int num : reversedNumbers) {
std::cout << num << " ";
}
std::cout << "\n";
}
return 0;
}
```
在这个例子中,我们首先创建了一个包含整数的向量`input`,然后调用`writeIntsToFile`函数将其写入文件。接着,我们从文件中读取所有数字并存储在一个新向量里,最后对这个向量进行反转并打印出来。
编写一个Java程序,把几个int型整数写入到一个名为“tom.dat”的文件中,然后按相反顺序读出这些数据
在Java中,我们可以使用`java.io`包下的`FileWriter`, `FileReader`, 和 `BufferedReader` 类来实现这个需求。首先,我们需要创建一个文件并写入整数,接着关闭文件,然后再打开并读取内容。
这里是一个简单的示例:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 写入数据
int[] numbers = {10, 20, 30, 40, 50};
String fileName = "tom.dat";
writeToFile(numbers, fileName);
// 读取数据
int[] readNumbers = readFromFile(fileName);
printReverseOrder(readNumbers);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void writeToFile(int[] numbers, String fileName) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
for (int num : numbers) {
writer.write(num + "\n");
}
writer.close(); // 关闭流
System.out.println("Data written to file successfully.");
}
private static int[] readFromFile(String fileName) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line;
StringBuilder dataBuilder = new StringBuilder();
while ((line = reader.readLine()) != null) {
dataBuilder.append(line).append("\n"); // 保留换行符
}
reader.close();
// 将字符串分割成数组
String[] strNumbers = dataBuilder.toString().split("\n");
int[] readNumbers = new int[strNumbers.length];
for (int i = 0; i < strNumbers.length; i++) {
readNumbers[i] = Integer.parseInt(strNumbers[strNumbers.length - 1 - i]); // 反转顺序
}
return readNumbers;
}
private static void printReverseOrder(int[] numbers) {
System.out.println("Reversed numbers:");
for (int num : numbers) {
System.out.print(num + " ");
}
}
}
```
在这个例子中,我们先将数组转换为字符串并逐行写入文件,然后读取整个文件的内容作为一个字符串,再按照每行分割成数组,并通过索引反转其顺序。
阅读全文