今天有个朋友需要用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 ; } 本文转自施杨博客园博客,原文链接:http://www.cnblogs.com/shiyangxt/archive/2009/03/18/1415736.html,如需转载请自行联系原作者