#include<stdio.h>
int fun(int a[],int n)
{
int i,flag,k,m=0;
flag=a[0];
for(i=0;i<n;i++)
{
if(flag>a[i])
flag=a[i];
}
k=0;
for(i=0;i<n;i++)
{
if(a[i]!=flag)
{
a[k]=a[i];
k++;
}
else
{
if(m==1&&a[i]==flag)
{
a[k]=a[i];
k++;
}
m=1;
}
}
return flag;
}
int main()
{
int a[100],n,i,sum=0,b,m,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
m=n;
for(i=0;i<n-1;i++)
{
b=fun(a,m)+fun(a,m-1);
sum=sum+b;
m--;
a[m-1]=b;
}
printf("%d",sum);
return 0;
}

本文介绍了一个使用C语言实现的数组处理算法,该算法能够找出数组中的最小元素,并在此基础上进行特定的操作,如去除所有最小元素的副本,保留一个最小元素,然后对剩余元素进行进一步处理。通过主函数中的输入输出示例,展示了如何调用此算法并计算最终的输出结果。
456

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



