C语言实现从键盘输入一个三位的正整数,要求输出其各个位上的数字并按照由大到小的顺序排列。
时间: 2024-06-10 17:07:28 浏览: 15
可以的,这道题可以使用取余和除法运算来实现,在每次取出数字后,可以使用数组进行排序,最后输出即可,具体代码可以参考下面:
```
#include <stdio.h>
int main() {
int n;
int num[3]; // 用于存放各个位上的数字
printf("请输入一个三位的正整数:");
scanf("%d", &n);
// 取出各个位上的数字并存放到数组中
num[0] = n % 10;
num[1] = n / 10 % 10;
num[2] = n / 100;
// 对数组进行排序
for (int i = 0; i < 2; i++) {
for (int j = i + 1; j < 3; j++) {
if (num[i] < num[j]) {
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
// 输出排序后的结果
printf("各个位上的数字按照由大到小的顺序排列为:%d%d%d\n", num[0], num[1], num[2]);
return 0;
}
```
希望可以帮到你!
相关问题
用c语言编写,从键盘输入一个三位正整数,逆序输出
好的,这是一个很基础的 C 语言编程问题。下面是代码实现:
```c
#include <stdio.h>
int main() {
int num, reverse_num = 0;
printf("请输入一个三位正整数:");
scanf("%d", &num);
while (num != 0) {
reverse_num = reverse_num * 10 + num % 10;
num /= 10;
}
printf("逆序输出:%d\n", reverse_num);
return 0;
}
```
这段代码首先从键盘输入一个三位正整数,然后通过循环逆序输出它。在循环中,每次将 reverse_num 的值乘以 10 并加上 num 的个位数,然后将 num 除以 10 向下取整。最后输出逆序后的数字即可。
希望能够帮助到你!
C语言从键盘输入一个三位正整数,若不符合要求,则重新输入
你可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int num;
do {
printf("请输入一个三位正整数:");
scanf("%d", &num);
} while (num < 100 || num > 999);
printf("输入的三位正整数是:%d\n", num);
return 0;
}
```
这段代码中,使用了 do-while 循环来不断读取用户输入的数值,直到输入的数值符合要求为止。在每次循环中,先输出提示信息,然后使用 scanf 函数读取用户的输入,判断是否符合要求,如果不符合要求,就继续循环,直到输入符合要求为止。最后输出符合要求的数值。