5个回答
展开全部
c++中将数组里的数随机排序,参考代码如下:
#include "stdlib.h"
#include "stdio.h"
main()
{
int i,j,k,a[10000],b[10000],n,t;
printf("please input the number of integer: ");
scanf("%d",&n);
for(i = 0; i < n; i++)
{
a[i] = random(80) + 20; /*生成数组*/
}
for(i = 0;i < n;i++) /*初始化元素数量*/
b[i] = 1;
for(i = 0; i < n; i++)
{
for(j = i + 1;j < n;j++)
{
if(a[i] == a[j])
{
b[i]++; /*计数*/
n--;
for(k = j;k < n;k++) /*去掉数组中重复值*/
a[k] = a[k + 1];
j--;
}
}
}
for(i = 1;i < n;i++) /*升序排序*/
for(j = 0;j < n - i;j++)
if(a[j] > a[j+1])
{
t = a[j];a[j] = a[j + 1];a[j + 1] = t;
t = b[j];b[j] = b[j + 1];b[j + 1] = t;
}
printf("\n Integer numbers\n");
for(i = 0;i < n;i++) /*输出*/
{
printf(" %d %d\n",a[i],b[i]);
}
getch();
}
展开全部
比如说数组{2,3,4,65,54,342,657,5768,45342,45656,},就是让他们随机全部显示出来
#include "stdlib.h"//malloc,free
#include <time.h>//srand
unsigned int _random;
srand( (unsigned)time( NULL ) );
_random=rand()+100;
_random=_random%10+1;
//_random就是1~10的随机数
#include "stdlib.h"//malloc,free
#include <time.h>//srand
unsigned int _random;
srand( (unsigned)time( NULL ) );
_random=rand()+100;
_random=_random%10+1;
//_random就是1~10的随机数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果数组已有数,要随机打乱顺序:
i = rand()% Array_Size;//随即数组中的俩个位置
j = rand()% Array_Size;
t = a[i];//交换
a[i] = a[j];
a[j] = t;
多执行几次就打乱了
i = rand()% Array_Size;//随即数组中的俩个位置
j = rand()% Array_Size;
t = a[i];//交换
a[i] = a[j];
a[j] = t;
多执行几次就打乱了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
昨天面试了一家公司,也是个排序题,网上很多答案都编译不了,今天把代码写出来供你参考下:
#include <iostream.h>
void sort(int a[],int n);
int main()
{
int array[]={45,56,76,234,1,34,23,2,3};
sort(array,sizeof(array)/sizeof(array[0]));
return 0;
}
void sort(int a[],int n)
{
int temp;
for (int i=0;i<n;i++)
{
for (int j=i+1;j<n;j++)
{
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
cout << a[i] << endl;
}
}
#include <iostream.h>
void sort(int a[],int n);
int main()
{
int array[]={45,56,76,234,1,34,23,2,3};
sort(array,sizeof(array)/sizeof(array[0]));
return 0;
}
void sort(int a[],int n)
{
int temp;
for (int i=0;i<n;i++)
{
for (int j=i+1;j<n;j++)
{
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
cout << a[i] << endl;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你的输出改下。
int main()
{
int a[5]={1,5,3,2,4};
int i,j,t;
for(i=0;i5;i++)
for(j=i+1;j5;j++)
{
if(a[i]a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i5;i++)
couta[i]"\n";
}
int main()
{
int a[5]={1,5,3,2,4};
int i,j,t;
for(i=0;i5;i++)
for(j=i+1;j5;j++)
{
if(a[i]a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i5;i++)
couta[i]"\n";
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询