用C语言定义一个50个数的数组,用1~100之间的随机数填充,要求这50个数中不能出现重复,然后排序输出。

如题所述

第1个回答  2013-11-25
数组初始化为0,用 memset 等方法
随机数用 srand rand 得到,然后将数组对应的元素设置为1
解决冲突判断数组对应位置有无设置为1
排序输出在数组置1过程中就实现了
第2个回答  2013-11-25
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main()
{
srand(unsigned(time(NULL)));
int a[50];
for (int i = 0;i < 50;i++)
{
a[i] = rand() % 100 + 1;
for (int j = 0;j < i;j++)
if (a[i] == a[j])
a[i] = rand() % 100 + 1;
}
for (int i = 0;i < 50;i++)
for (int j = i;j < 50;j++)
if (a[i] > a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
for (int i = 0;i < 50;i++)
printf("%d ",a[i]);
printf("\n");
}本回答被网友采纳
相似回答