题目来源:浙大PTA
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
解答:
#include<stdio.h>
#define N 4
void sort(int a[N]) /*一个排序算法,传入数组a[N]*/
{
int n=0,i=0,j=0,k; /*设置计数器n,下标i,j,替换器t*/
while(*a) /*计算数组a的长度*/
{
a++;
n++;
}
for(i=0;i<n;i++) a--; /*让a指针归位*/
for(i=0;i<n;i++) /*从a[1]开始与后面的n个数做比较*/
{
for(j=i;j<n;j++) /*扫描完后在a[1]留下最大的数,从a[2]开始继续扫,以此类推*/
{
if(a[i]>a[j]) /*当扫描到比当前这个数更大的数,就做交换*/
{
k=a[j];
a[j]=a[i];
a[i]=k;
}
}
}
}
int main()
{
int a[4];
for(int i=0;i<3;i++)
scanf("%d",&a[i]);
sort(a);
printf("%d->%d->%d",a[0],a[1],a[2]);
return 0;
}