3编写C语言程序用两种不同的方法完成1、输入3个整数;2、按照从小到大的顺序排列并输出这三个数。提示:用i语句和冒泡法每一行代码标注解释让我通俗地理解为何
方法一:使用if语句
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
if (a > b) { // 如果a大于b,就交换a和b的值
int temp = a;
a = b;
b = temp;
}
if (a > c) { // 如果a大于c,就交换a和c的值
int temp = a;
a = c;
c = temp;
}
if (b > c) { // 如果b大于c,就交换b和c的值
int temp = b;
b = c;
c = temp;
}
printf("从小到大排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
方法二:使用冒泡法
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
int arr[] = {a, b, c}; // 将三个数存储到数组中
int i, j, temp;
for (i = 0; i < 2; i++) { // 冒泡排序,共需要比较2次
for (j = 0; j < 2 - i; j++) { // 每次比较需要比较的次数逐渐减少
if (arr[j] > arr[j + 1]) { // 如果前一个数大于后一个数,就交换两个数的位置
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("从小到大排序后的结果为:%d %d %d\n", arr[0], arr[1], arr[2]);
return 0;
}
解释:
- 第1行:包含了头文件stdio.h,该头文件中包含了printf和scanf等函数的声明。
- 第3行:定义了main函数,程序从这里开始执行。
- 第4-6行:定义了三个整数变量a、b、c。
- 第7行:输出提示信息,让用户输入三个整数。
- 第8行:使用scanf函数从标准输入(即键盘)读取三个整数,并分别存储到a、b、c中。
- 第9-14行:使用if语句进行排序,比较三个数的大小,将它们从小到大排列。
- 第15行:使用printf函数输出排序后的结果。
- 第16行:返回0,表示程序运行成功。
- 第18-20行:使用冒泡法进行排序,将三个数存储到数组中,然后使用嵌套的for循环进行比较和交换。
- 第21行:使用printf函数输出排序后的结果。
- 第22行:返回0,表示程序运行成功
原文地址: https://www.cveoy.top/t/topic/fKbm 著作权归作者所有。请勿转载和采集!