输入三个整数a,b,c,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到a上,先将a与b进行比较,如果a>b则将a与b的值进行交换,
然后再用a与c进行比较,如果a>c则将a与c的值进行交换,这样能使a最小。
2.程序源代码:
main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a&b&c);
if (a>b)
{t=a;a=b;b=t;} /*交换a,b的值*/
if(a>c)
{t=c;c=a;a=t;}/*交换a,c的值*/
if(b>c)
{t=b;b=c;c=t;}/*交换c,b的值*/
printf("small to big: %d %d %d\n",a,b,c);
}
降序排列
for(i=0;i<3;i++)
for(j=0;j<2;j++)
if(a[i]>a[j])
{
s=a[j];
a[j]=a[i];
a[i]=s;
}
输入三个数后用冒泡排序的方法就能输出
这里不能画图
排序方法:
设一个中间变量
temp
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
你看这个代码的逻辑,流程图就自然清楚了,每次判断,如果第一个比第二个大,利用temp进行交换,保证第一个一直都是最小。三次比较后,自然a,b,c的顺序就是从小到大了