能给我详细解释一下为什么这样写吗
#include <stdio.h>
int main(void)
{
int a, b, c, temp;
printf("please input a b c:");
scanf("%d%d%d", &a, &b, &c);
if (a < b)
{
temp = a;
a = b;
b = temp;
}
if (a < c)
{
temp = c;
c = a;
a = temp;
}
if (c > b)
{
temp = b;
b = c;
c = temp;
}
printf("%d, %d, %d", a, b, c);
return 1;
}
//编程的思想是,先搏芦用a与b比较大小得到,如果b比a大就把a和b的数值进行交换
//然后,把a于c进行比携银芦较,如果,c是大于a的那么把a,c的值互换,那么得到的
//a就是最大的数,然后,比较b, c的值,如果,c大于b那么又进行互换,完成后辩带,
//a,b, c就是从大到小排列的了
虽然我野闷现在比较忙,没有时间帮助你编写现成的 C 语言源代码(同时我的
电脑上现在也没有 C 语言编译器,因为要真正调试通过任何一个 C 语言程序,都不是靠在纸上、或者是在电脑屏幕上写源代码完成的,更需要或脊磨的是必须亲自在调试环境下,上机调试程序最终才能够得到正确的运行结果),但是我可以给你提供一个非常好的编程思路。
如果你的数据量不是很大的话,可以使用数据结构教材上的最简单的冒泡排序算法,即可完成你的按照从大到小(或者是从小到大)进行排序。
你可以参考 C 语言版的数据结构教材,该教材中会讲解各种各样的排序算法(从最简单的冒泡排序,一直到 SHELL 排序、快速排序、归并排序等),你只要根据你的实际需求,在你的衫斗程序源代码中,在主函数调用排序子函数中修改成适合你的实际参数、以及在被调用的排序子函数中,将参数修改成适合你自己的形式参数即可。