C语言 代码 从键盘输入一个4位正整数,首先分离出该正整数中的每一位数字,并按逆序显示输出各位数字;然后用分离出的每位数字组成一个最大数和一个最小数并显示输出
时间: 2024-09-26 21:02:27 浏览: 137
在C语言中,你可以使用`scanf`函数获取用户输入的四位正整数,然后通过循环结构分离出每一位数字。接着,创建两个数组分别存储这些数字以构造最大数和最小数。最后,遍历数组按照相反顺序打印出各位数字、最大数和最小数。
下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int num, digit[4], max_num[4] = {0}, min_num[4] = {9}, i;
// 输入4位正整数
printf("请输入一个4位正整数: ");
scanf("%d", &num);
// 分离每一位数字并存储到digit数组
while (num > 0) {
digit[i] = num % 10;
num /= 10;
i++;
}
// 逆序存储数字
for (i = 3; i >= 0; i--) {
printf("%d", digit[i]);
}
printf("\n");
// 构造最大数和最小数
for (i = 0; i < 4; i++) {
max_num[i] = digit[i];
min_num[i] = digit[i];
}
// 顺次比较并更新最大数和最小数
for (i = 0; i < 3; i++) {
if (max_num[i] < max_num[i + 1]) {
temp = max_num[i];
max_num[i] = max_num[i + 1];
max_num[i + 1] = temp;
}
if (min_num[i] > min_num[i + 1]) {
temp = min_num[i];
min_num[i] = min_num[i + 1];
min_num[i + 1] = temp;
}
}
// 输出最大数和最小数
printf("最大数: ");
for (i = 0; i < 4; i++) {
printf("%d", max_num[i]);
}
printf("\n最小数: ");
for (i = 0; i < 4; i++) {
printf("%d", min_num[i]);
}
return 0;
}
```
阅读全文