1.输入一个任意的三位数N,其中N的范围是 100≤Ns999。从 N 中分别取出其个位、十位和百位上的数字,然后将这些数字逆序组合成一个新的三位数 M。请编写一个程序,来实现这一过程,并输出逆序组合后的新数M。用c语言回答
时间: 2024-10-19 20:14:00 浏览: 27
在C语言中,你可以使用结构体来存储每一位数字,并通过函数实现这个功能。以下是简单的代码示例:
```c
#include <stdio.h>
// 定义一个结构体表示三位数
typedef struct {
int hundreds; // 百位
int tens; // 十位
int ones; // 个位
} Number;
// 函数用于逆序处理并打印新的三位数
void reverseAndPrint(Number num) {
printf("新数M为:%03d", (num.ones * 100) + (num.tens * 10) + num.hundreds);
}
// 输入原三位数并分割各个位
int main() {
int n;
printf("请输入一个三位数(N): ");
scanf("%i", &n);
Number num = {0};
num.hundreds = n / 100; // 取百位
num.tens = (n % 100) / 10; // 取十位
num.ones = n % 10; // 取个位
// 逆序处理
int temp = num.hundreds;
num.hundreds = num.ones;
num.ones = temp;
reverseAndPrint(num);
return 0;
}
```
在这个程序中,用户会被提示输入一个三位数N,然后`main`函数会根据提供的数值计算出每个位置的数字,逆序后组合成新的三位数M,并将其打印出来。
阅读全文