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;
}
#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;
}
#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
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
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;
}
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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯