15,440
社区成员
发帖
与我相关
我的任务
分享
/* 找最小的前3个不重复的数字*/
#include<iostream>
using namespace std;
int a[6] = { 6,3,2,5,4,1 };
int main()
{
int min = 100, aa[6] = {0},MIN[3], i; //aa[6]是一个标记数组,分配好了就让其自增为1
for (int i = 0;i < 6;i++)
if (a[i] < min)
{
min = a[i];
aa[i]++;
}
return 0;
}
#include<iostream>
#include <cmath>
using namespace std;
int a[6] = { 6,3,2,5,4,1 };
int get_min(int *arr, int len);
int main(void)
{
int min = 100, tmp, MIN[3];
int i, j;
MIN[0] = get_min(a, 6);
for (i = 0; i < 2; i++) {
for (j = 0; j < 6; j++) {
tmp = a[j] - MIN[i];
if (tmp > 0 && tmp < min) {
min = tmp;
MIN[i+1] = a[j];
}
}
min = 100;
}
for (i = 0; i < 3; i++)
cout<<MIN[i]<<endl;
return 0;
}
int get_min(int *arr, int len)
{
int i, min;
min = arr[0];
for (i = 1; i < len; i++)
if (arr[i] < min)
min = arr[i];
return min;
}
/* 找最小的前3个不重复的数字*/
#include<stdio.h>
#include<iostream>
using namespace std;
int a[6] = { 6,3,2,5,4,1 };
int main()
{
int i=0,j,middle ,min = 100, aa[6] = { 0 }, MIN[3]; //aa[6]是一个标记数组,分配好了就让其自增为1
for (j = 0;j < 3;j++)
{
for (i = 0;i < 6;i++)
if (aa[i]==0)
if (a[i] < min)
{
min = a[i];
middle = i;
}
MIN[j] = middle;
aa[middle] = 1;
}
}
这个为什么选出来的是都是几个重复的数字
/* 找最小的前3个不重复的数字*/
#include<iostream>
using namespace std;
int a[6] = { 6,3,2,5,4,1 };
int main()
{
int min = 100, aa[6] = { 0 }, MIN[3] = {0}, i; //aa[6]是一个标记数组,分配好了就让其自增为1
for (int j=0;j<3;j++)
{
for (int i = 0;i < 6;i++)
if (a[i] < min)
{
min = a[i];
MIN[j] = a[i];
aa[i]++;
}
}
for (int j = 0;j < 3;j++)
cout << MIN[j] << endl;
return 0;
}
怎么还是没有找到三个最小的值。