永发信息网

c语言一个一维数组找到最小值,再去掉最小值再找最小值,求代码

答案:3  悬赏:60  手机版
解决时间 2021-01-28 21:50
  • 提问者网友:世勋超人
  • 2021-01-28 16:49
c语言一个一维数组找到最小值,再去掉最小值再找最小值,求代码
最佳答案
  • 五星知识达人网友:等灯
  • 2021-01-28 17:09
一个排序么 从小到大 最小值去掉 就是排好再排下一个 不知道楼主要实现什么功能呢

#include

int main(int argc, char* argv[])
{
int a[5] = {1,5,4,3,2};
int i=0;
int j=0;
for(i=0;i<5;i++)
{

for(j=i+1;j<5;j++)
{
if(a[i]>a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(i=0;i<5;i++)
{
printf("%d\n",a[i]);
}
return 0;
}
全部回答
  • 1楼网友:平生事
  • 2021-01-28 18:32
#include "stdio.h"
#define NUM_a 5
int takeout(int *a,int *c,int count_a,int min);  //去掉a中最小,剩余放c
int find(int *,int);  //找出数组中最小

main()
{
    int a[]={1,3,2,5,6};
    int c[NUM_a-1];
    int min;    
    int count_min;
    
    min=find(a,NUM_a);
    
    count_min=takeout(a,c,NUM_a,min);
    
    printf("%d",find(c,NUM_a-count_min));
}
int takeout(int *a,int *c,int count_a,int min)
{
 int i;
 int k=0;
 
 for(i=0;i     if(a[i]!=min)
         c[k++]=a[i];
 
 return count_a-k;       
}
int find(int *temp,int count)
{
 int min;
 int i;
 
 min=temp[0];
 
 for(i=1;i     if(temp[i]         min=temp[i];
 
 return min;
}
  • 2楼网友:佘樂
  • 2021-01-28 17:34
main(){
    int min(int *a,int *l); 
    int test[10]={1,9,3,7,2,0,8,5,6,4};
    int i=9; 
 printf("最小的是:%d ",min(test,&i));
 printf("第二小的是:%d ",min(test,&i));
}
 int min(int *a,int *l){
    int i, temp;
 temp=a[0];
 for(i=0;i<*l;i++)
  if (temp>*(a+i)){
   temp=*(a+i);
   break;}
 for(i=i;i<*l-1;i++)
  *(a+i)=*(a+i+1);
 *l=*l-1;
   return temp;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯