能用C语言写输入的任意3个整数从小到大输出吗
时间: 2024-09-23 18:00:54 浏览: 33
当然可以,C语言中可以使用循环和条件判断来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int a, b, c;
// 输入三个整数
printf("请输入第一个整数: ");
scanf("%d", &a);
printf("请输入第二个整数: ");
scanf("%d", &b);
printf("请输入第三个整数: ");
scanf("%d", &c);
// 检查并交换数字,确保它们按升序排列
if (a > b) {
int temp = a;
a = b;
b = temp;
}
if (a > c || b > c) { // 如果a或b仍大于c,则再比较一次
int temp = a;
a = c;
c = temp;
}
if (b > c) {
int temp = b;
b = c;
c = temp;
}
// 输出排序后的结果
printf("三个整数按照从小到大的顺序是: %d, %d, %d\n", a, b, c);
return 0;
}
```
相关问题
C语言中将输入的任意三个整数从小到大输出
在C语言中,要实现这个功能,你可以使用标准库函数`scanf()`用于读取用户输入,`if`条件语句进行比较,并利用临时变量交换值来保证排序。这里是一个简单的示例程序:
```c
#include <stdio.h>
// 交换两个整数的函数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2, num3; // 定义三个整数变量
printf("请输入三个整数:\n");
// 读取第一个数字
scanf("%d", &num1);
// 读取第二个数字并检查是否大于第一个
scanf("%d", &num2);
if (num2 < num1) {
swap(&num1, &num2); // 如果第二个小于第一个,交换它们的位置
}
// 读取第三个数字并检查是否小于前两个
scanf("%d", &num3);
if (num3 < num1 && num3 < num2) {
swap(&num1, &num3); // 如果第三个更小,再跟第一个交换
} else if (num3 > num1 && num3 < num2) {
swap(&num2, &num3); // 只有当num2更大时才需要交换
}
// 输出排序后的三个数
printf("按顺序从最小到最大:%d %d %d\n", num1, num2, num3);
return 0;
}
```
C语言 将输入的任意3个整数从小到大输出
可以使用C语言中的冒泡排序算法来实现输入的3个整数从小到大输出,代码如下:
```c
#include <stdio.h>
int main() {
int nums[3];
int i, j, temp;
// 输入三个整数
for (i = 0; i < 3; i++) {
printf("请输入第%d个整数:", i+1);
scanf("%d", &nums[i]);
}
// 冒泡排序,从小到大排序
for (i = 0; i < 3; i++) {
for (j = 0; j < 3-i-1; j++) {
if (nums[j] > nums[j+1]) {
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
// 输出排序后的结果
printf("从小到大排序后的结果为:\n");
for (i = 0; i < 3; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
运行程序后,输入三个整数,程序将会输出这三个整数从小到大排序后的结果。
阅读全文