1.代码如下
第一种代码
#include<stdio.h>
int main(void)
{
int arr[3] = { 55,85,35 };
int len = 3;
int i,j,temp;
for (i = 0; i < len-1; i++)
{
for (j = 0; j < len - 1 - i; j++)
{
if (arr[j]>arr[j+1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (i = 0; i < 3; i++)
{
printf("%d\n", arr[i]);
}
return 0;
}
第二种代码
#include<stdio.h>
int main(void)
{
int a, b, c, t;
printf("请输入三个值:\n");
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
t = a;
a = b;
b = t;
}
if (a > c)
{
t = a;
a = c;
c = t;
}
if (b > c)
{
t = b;
b = c;
c = t;
}
printf("从小到大的值为:\n");
printf("%d,%d,%d", a, b, c);
return 0;
}
2.个人见解
第一种代码
使用冒泡排序的方法。
关于冒泡排序:
- 与相邻的元素进行比较,如果大(小),则进行交换,依次进行该动作。直至最后。
- 持续该动作,将会使越来越少的元素参加。直到最后没有一对元素需要比较。
第二种代码
两两进行比较,直至最后一个元素。
两种代码的比较
冒泡排序,适合数量庞大的元素排序,而第二种代码,仅仅适合数量较少的元素排序。
而且,第二种代码,容易漏写,使其最后的计算出错。