c语言对一组数据随机排序
来源:互联网 发布:大数据技术具体应用 编辑:程序博客网 时间:2024/04/25 16:03
2014 神州绿盟暑期实习生笔试题-------程序编程第一题:
- 第一种方法:
使用自己构造的函数来根据每次的位置信息返回乱序的数字
/*** 程序功能:对指定的数组,进行随机排序,交换数组中的数据位置*/#include <stdio.h>#include <math.h>void swap(int *tempa,int *tempb);void main(){int a[10]={0,1,2,3,4,5,6,7,8,9};int i;int j=0;for(i=0;i<10;i++)//可修改i<5,对一半乱序交换即可{j=(int)(pow(i,2)+5*i)%10;//可以自己构造一个其他的函数,保证与10求余后不与原位置相同即可swap(&a[i],&a[j]);}for(i=0;i<10;i++)printf("a[%d] is %d\n",i,a[i]);}void swap(int *tempa,int *tempb){int temp;temp=*tempa;*tempa=*tempb;*tempb=temp;}排序结果:
a[0] is 5a[1] is 6a[2] is 4a[3] is 2a[4] is 8a[5] is 0a[6] is 9a[7] is 1a[8] is 7a[9] is 3
- 第二种方法:
使用时间随机函数来返回乱序的数字
/*** 程序功能:对指定的数组,进行随机排序,交换数组中的数据位置*/#include <stdio.h>#include <time.h>void swap(int *tempa,int *tempb);void main(){int a[10]={0,1,2,3,4,5,6,7,8,9};int i;int j=0;srand((unsigned int)time(NULL));for(i=0;i<10;i++)//可修改i<5,对一半乱序交换即可{j=rand()%10;swap(&a[i],&a[j]);}for(i=0;i<10;i++)printf("a[%d] is %d\n",i,a[i]);}void swap(int *tempa,int *tempb){int temp;temp=*tempa;*tempa=*tempb;*tempb=temp;}
排序结果:
a[0] is 3a[1] is 2a[2] is 5a[3] is 0a[4] is 1a[5] is 6a[6] is 8a[7] is 7a[8] is 4a[9] is 9
- c语言对一组数据随机排序
- 对一组数字随机排序算法
- C 语言 键盘输入一组数据,两种方式排序输出。
- C语言接收一组数据
- 对随机数据排序
- 对随机数据排序
- 一组数字随机排序
- C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出
- 6.用插入排序对任意一组随机数据进行随机数组进行排序(用循环和递归两种方法)
- c版快速排序 + 随机产生一组测试数据
- C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出*选择/
- mysql 随机取一组数据
- C# 随机分一组数据
- 使用hadoop对一组数据排序,求平均值。
- C语言:冒泡法排序一组数,如何优化?
- 非随机快速排序C语言实现
- C语言 链表求一组数据的交集并集
- 给随机的一组数排序
- vs2010+svn
- 想了解的模型基础东东
- OSI七层网络模型,TCP/IP四层网络模型与网络协议解析
- 用Mixer API函数调节控制面板的音频设置
- MediaPlayer设置StreamType需要在prepare之前
- c语言对一组数据随机排序
- MongoDB 备份与恢复的实践
- OCP-1Z0-052-V8.02-83题
- R 高级数据管理
- 定时事件
- hdu-1248-寒冰王座
- Android如何将一张图片裁成圆形/圆角矩形/特殊形状
- 2013新炬网络数据库大师技术分享会
- QT连接mysql、oracle数据库可执行程序的移植性问题