运用c语言 编写程序 输入任意一个百位数 将其逆序输出
时间: 2024-10-13 18:19:01 浏览: 32
在C语言中,编写一个程序来输入一个三位数并将其逆序输出,可以按照以下几个步骤进行:
1. 首先,我们需要从用户那里获取输入的三位数,并存储它。可以使用`scanf`函数来读取用户的输入。
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
```
2. 接着,我们将这个数字转换成字符串,因为直接处理整数难以提取每一位。我们可以使用`itoa`库函数或者自定义一个函数来完成这个任务。
```c
#include <string.h>
char input[4]; // 包含正数的前四位,包括空字符'\0'
// 自定义itoa函数示例 (这里假设该函数存在)
void reverseIntToString(int num, char* str) {
sprintf(str, "%d", num); // 将整数转换为字符串
str[strlen(str) - 1] = '\0'; // 删除多余的空格或正负号
}
reverseIntToString(num, input);
```
3. 然后,我们遍历字符串,将每一位字符逆序输出。
```c
int reversedNum = 0;
for (int i = strlen(input) - 1; i >= 0; i--) {
reversedNum = reversedNum * 10 + input[i] - '0'; // 减去'0'是因为字符是ASCII值
}
```
4. 最后,打印出逆序后的数值。
```c
printf("逆序后的三位数为:%d\n", reversedNum);
```
完整代码如下:
```c
#include <stdio.h>
#include <string.h>
// 假设有一个自定义的itoa函数,如下面所示
void reverseIntToString(int num, char* str) {
sprintf(str, "%d", num);
str[strlen(str) - 1] = '\0';
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
char input[4];
reverseIntToString(num, input);
int reversedNum = 0;
for (int i = strlen(input) - 1; i >= 0; i--) {
reversedNum = reversedNum * 10 + input[i] - '0';
}
printf("逆序后的三位数为:%d\n", reversedNum);
return 0;
}
阅读全文