【C++】Number Random

这次来看到Number Random啦,也就是随机乱数。

随机乱数很常出现在面试的考题~ 所以我写了两种简单的乱数程式。


学习目标: Number Random的实务

学习难度: ☆☆☆


首先是单一乱数~ 很简单,只有srand跟rand要注意一下~

#include <iostream>#include <ctime>using namespace std;int main(){int num;cin>>num;srand(time(NULL)); //time(NULL)会输出从1970年1月1号 0点0分0秒开始到现在的秒数cout<<rand()%num+0<<endl; //乱数从0开始直到num return 0;}

接下来是多个数的乱数。

使用者可以输入要乱数的数量(input),程式会输出1到input範围的数。

例如~输入5,可能会输出: 1, 3, 2, 4, 5。

比较特别的是它不会输出相同的数字。

老样子用阵列去存乱数,然后再逐一检查。

#include <iostream>#include <ctime>#include <stdlib.h>   using namespace std;void random(int input){srand(time(NULL));int i,j;int num[input];for(i=0;i<input;i++) //走访乱数的数量 0~input {do{num[i]=rand()%(input)+1; /*这里会进行乱数(1~input)*/for(j=0;j<i;j++){if(num[i]==num[j]) /*如果有重複的乱数就跳出*/ break;}}while(j!=i); //当j!=i时,意味有数字重複,因为重複时,刚刚的迴圈会break,不让j继续增值,所以要在做乱数 cout<<num[i]<<endl;}}int main(){int input;cin>>input; //输入要乱数的数量random(input); //开始执行乱数return 0;}

参考资料:

https://www.cplusplus.com/reference/cstdlib/rand/


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章