今天有个朋友需要用C语言实现显示0-100的随机序列,并且要大于50的显示1,小于50的显示0。
俺觉得无非就是rand()函数的使用呗,于是抽空写一下实现,本机测试无误。需要的朋友可以直接拷贝运行。
那个向我提问的朋友也可以看看,并提出下一步设计。俺也给出了详细的注释。程序很短,没有考虑性能,仅以实现
为目的。好久没发贴了,估计近期都会少发帖,因为手头的两个网站要快些做。
#include
<
stdlib.h
>
//
标准工具库,要用到其中的rand()
#include < stdio.h >
#include < conio.h >
#include < time.h > // 时间库,要用到里面的时间来做随机数的种子
int main(){
// 循环变量
int i;
int j;
int t;
// 随机变量
int k;
// 数组初始化
int sy[ 100 ] = {};
for (t = 0 ;t <= 100 ;t ++ ){
sy[t] = t;
}
// 获得随机种子
srand(time(NULL));
printf( " 将0-100的数随机排列,并且大于50的数显示1,小于50的数显示0的程序\n\n " );
for (i = 0 ; i < 100 ; i ++ ){
k = rand() % ( 100 - i);
if (sy[k] > 50 )
printf( " %d\n " , 1 );
else
printf( " %d\n " , 0 );
// 数组中随机位置后的所有数整体前移一位,覆盖该随机数,防止数列重复
for (j = k;j < 100 ;j ++ )
sy[j] = sy[j + 1 ];
}
getch();
return 0 ;
}
#include < stdio.h >
#include < conio.h >
#include < time.h > // 时间库,要用到里面的时间来做随机数的种子
int main(){
// 循环变量
int i;
int j;
int t;
// 随机变量
int k;
// 数组初始化
int sy[ 100 ] = {};
for (t = 0 ;t <= 100 ;t ++ ){
sy[t] = t;
}
// 获得随机种子
srand(time(NULL));
printf( " 将0-100的数随机排列,并且大于50的数显示1,小于50的数显示0的程序\n\n " );
for (i = 0 ; i < 100 ; i ++ ){
k = rand() % ( 100 - i);
if (sy[k] > 50 )
printf( " %d\n " , 1 );
else
printf( " %d\n " , 0 );
// 数组中随机位置后的所有数整体前移一位,覆盖该随机数,防止数列重复
for (j = k;j < 100 ;j ++ )
sy[j] = sy[j + 1 ];
}
getch();
return 0 ;
}