输入n(<20)个互不相同的正整数并保存在数组中,找到最小元素并删除它(原位置值置0),输出删除后的数组
样例输入:
9
1 2 3 4 5 6 7 8 9
样例输出:
0 2 3 4 5 6 7 8 9
求各位帮忙看看!
#include<stdio.h>
int main()
{
int a[20];
int n,max,num=0;
scanf("%d", &n);
for (int i = 0; i < n;i++)
scanf("%d", &a[i]);
max = a[0];
for(int i=0;i<n;i++)
if (a[i] < max)
{
max = a[i];
num = i;
}
a[num] = 0;
for (int i = 0; i < n; i++)
printf("%d\t", a[i]);
return 0;
}
有很多方法,可以先排序,在删除,也可以直接求最小值,然后对最小值删除