先讲下铺垫知识:
1)随机数的产生
参考:http://baike.baidu.com/view/3048977.htm
http://baike.baidu.com/view/3048977.htm
主要函数rand()%N
比如要产生N=10以内的随机数,函数为rand()%10
如果要生成a与b之间的随机实数,就用rand()%(b-a)+a
2)最大数与最小数的寻找与换位
只需用两个下标记录量来记录最大最小位置,然后来进行互换。
以30以内的随机数为例代码如下:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,a[20],max_p=0,min_p=0,temp;
printf("-----初始化随机数序列如下--------\n");
for(i=0;i<=19;i++)
{
a[i]=rand()%30;
printf("%d ",a[i]);
}
/*找到最大最小位置*/
for(i=0;i<=19;i++)
{
if(a[i]>a[max_p])
max_p=i;
if(a[i]<a[min_p])
min_p=i;
}
/*互换位置*/
temp=a[max_p];
a[max_p]=a[min_p];
a[min_p]=temp;
printf("\n-----互换后的随机数序列如下--------\n");
for(i=0;i<=19;i++)
printf("%d ",a[i]);
printf("\n");
}