交换输出

输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。(如果这个第一个数就是最小的数,则保持原样输出,如果最小的数有相同的按照前面的交换)

题目具体信息 http://acm.nyist.net/JudgeOnline/problem.php?

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,i,j,t,a[100],min;
 5     while(scanf("%d",&n)!=0)
 6     {
 7     if(n==0)
 8     break;
 9     j=0;//必须要对j赋值为0
10     for(i=0;i<n;i++)
11         scanf("%d",&a[i]);
12     min=a[0];
13     for(i=0;i<n;i++)
14     {
15         if(a[i]<min)
16         {
17         min=a[i];//找出最小的值
18         j=i;
19         }
20     }
21         t=a[0];//把最小的值与第一个互换
22         a[0]=a[j];
23         a[j]=t;
24     for(i=0;i<n;i++)
25         printf("%d ",a[i]);    
26         printf("\n");
27     }
28     return 0;
29 }
View Code

 

posted on 2014-04-25 11:13  一颗向上的草莓  阅读(169)  评论(0编辑  收藏  举报