腾讯笔试题

已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()
随机1~10

#include<stdlib.h>
#include<stdio.h>

int rand7()
{
 return rand()%7+1;
}

int rand10()
{
 int a71,a72,a10;
 do{
  a71=rand7()-1;
  a72=rand7()-1;
  a10=a71*7+a72;
 }while(a10>=40);
 return (a71*7+a72)/4+1;
}

int main()
{
 int a,i;
 for(i=0;i<16;i++)
   { 
       a=rand10();

    printf("%d\n",a);
 }
 return 0;
}

猜你喜欢

转载自blog.csdn.net/d1306937299/article/details/48418559