C语言 编一个程序,先随机产生100个两位正整数并输出,再找出其中最小的和次最小的正整数(可能相等)

要求不对这100个正整数进行排序。
请高手给个程序吧 谢谢

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define NUM 100

int num[NUM];
int min1, min2;
void rand100();
void findTwoMin();
void printAll();

int main()
{
rand100();
findTwoMin();
printAll();

return 0;
}

void rand100()
{
int i,j;
srand((int)time(0));
for(i=0;i<NUM;i++)
{
j=1+(int)(99.0*rand()/(RAND_MAX+1.0));
num[i] = j;
}
}

void findTwoMin()
{
int numTemp[NUM];
int i = 0;
min1 = 101;
min2 = 101;
for (i=1; i<NUM; ++i)
{
numTemp[i] = num[i];
if (num[i] < min1)
{
min1 = num[i];
}
}

for (i=0; i<NUM; ++i)
{
if (numTemp[i] == min1)
{
numTemp[i] = 101;
break;
}
}

for (i=1; i<NUM; ++i)
{
if (numTemp[i] < min2)
{
min2 = numTemp[i];
}
}
}

void printAll()
{
printf("一百个随机数\n");
for (int i=0; i<NUM; ++i)
{
printf("%d ", num[i]);
}
printf("\n最小的:%d, 次小的:%d\n", min1, min2);
}
温馨提示:答案为网友推荐,仅供参考
相似回答