实现从键盘输入一个四位正整数,分离出它的每一位数字并输出
时间: 2023-03-26 20:03:27 浏览: 305
您好,可以回答您的问题。以下是实现从键盘输入一个四位正整数,分离出它的每一位数字并输出的代码:
```c
#include <stdio.h>
int main() {
int num, a, b, c, d;
printf("请输入一个四位正整数:");
scanf("%d", &num);
a = num / 100;
b = num % 100 / 100;
c = num % 100 / 10;
d = num % 10;
printf("千位:%d\n百位:%d\n十位:%d\n个位:%d\n", a, b, c, d);
return ;
}
```
输入一个四位正整数,程序会将其分离出每一位数字并输出。例如,输入1234,输出结果为:
```
千位:1
百位:2
十位:3
个位:4
```
相关问题
从键盘输入一个四位正整数。首先分离出该正整数中的每一位数字,并按逆序显示输出各位数字;然后用分离出的每位数字组成一个最大数和一个最小数,并显示输出。
这是一个很有意思的问题!请先输入四位正整数:(比如说:1234)
(用户输入四位正整数)
好的,我来实现你的要求:首先,分离该正整数的每一位数字并按逆序显示,结果是:
(逆序输出该正整数的每一位数字)
接下来,我使用这些数字组成最大数和最小数并输出,最大数是:
(用这些数字组成的最大数)
最小数是:
(用这些数字组成的最小数)
如此这般,就完成了这道简单有趣的算法题目!
C语言 代码 从键盘输入一个4位正整数,首先分离出该正整数中的每一位数字,并按逆序显示输出各位数字;然后用分离出的每位数字组成一个最大数和一个最小数并显示输出
在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;
}
```
阅读全文