首页 > 代码库 > 交换输出
交换输出
- 输入
- 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。
- 输出
- 对于每组输入数据,输出交换后的数列,每组输出占一行。
- 样例输入
4 2 1 3 4 5 5 4 3 2 1 0
- 样例输出
1 2 3 4 1 4 3 2 5
解题思路:
首先本题应该找到每组测试数据中最小值,并记录其下标(来自小洋子)。
将最小值和第一个数比较,若相等就原样输出,否则,将最小值和第一个数字交换,然后再输出即可。
程序代码:
#include<stdio.h> int main() { int n,a[100],min,i,t,j; while(scanf("%d",&n)&&n!=0) { for(i=0;i<n;i++) { scanf("%d",&a[i]); } min=a[0]; for(i=0;i<n;i++) { if(min>a[i]){ min=a[i]; j=i; } } if(min<a[0]) { t=a[0]; a[0]=a[j]; a[j]=t; } for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); } return 0; }
交换输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。