本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
#include <stdio.h>
#define N 3
int main()
{
int arr[N];
int i=0,j=0;
for(i=0;i<N;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(arr[j]>arr[j+1])
{
arr[j]=arr[j]^arr[j+1];
arr[j+1]=arr[j]^arr[j+1];
arr[j]=arr[j]^arr[j+1];
}
}
}
printf("%d->%d->%d\n",arr[0],arr[1],arr[2]);
return 0;
}
总结
1、此题涉及排序和交换。
- 数据的总量为3,较小,采用最简单粗暴的冒泡排序
3、两个数据交换数值的3种方法:
temp = a; a = b; b = temp;
a = a+b; b = a-b; a = a-b;
a = a^b; b = a^b; a = a^b;
本文链接:https://shengto.top/c/pat_11.html
转载时须注明出处及本声明