Problem O: 最小数与数列第一个数交换
Description
输入一个正整数n(1 < n < 100),再输入n个整数,将最小数与第一个数交换(若最小数就在第一位,不需要交换),输出交换后的n个数。
Input
先输入一个正整数n,再输入n个整数
Output
输出交换后的n个数
Sample Input
5 3 5 2 8 1
9 88 33 55 99 44 66 77 22 11
Sample Output
1 5 2 8 3
11 33 55 99 44 66 77 22 88
#include<stdio.h>
int main(){
int n,i,k,j,a[100],min,m;
while(scanf("%d",&n)!=EOF&&n>1&&n<100){
for(i=0;i<n;i++)
scanf("%d",&a[i]);
min=a[0];m=0;
for(i=0;i<n;i++){
if(min>a[i]){
min=a[i];
m=i;
}
}
k=min;
a[m]=a[0];
a[0]=k;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}
总结
1、注意变量的初始化和初始化位置
2、注意输出格式。
本文介绍了一个使用C语言实现的简单算法,该算法接收一组正整数输入,找到其中的最小数,并将其与数列的第一个数进行交换。通过一个具体的示例,展示了算法的工作流程及其实现代码。
1049

被折叠的 条评论
为什么被折叠?



