导航:首页 > 编程知识 > 如何编程利用随机数来表示爱意值

如何编程利用随机数来表示爱意值

发布时间:2023-03-23 12:46:38

㈠ 用C语言写出一道关于随机数的编程题

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "time.h"

#define NUMLEN 69
#define BigNum char *

void bigNumCpy(BigNum a, const BigNum b)//大数间复制
{
memcpy(a, b, NUMLEN);
}
int add(const BigNum a, const BigNum b, BigNum c)//大数加法
{
int i;
int t1 = 0, t2;
BigNum d = new char[NUMLEN];
for(i=0;i<NUMLEN;i++)
{
t2 = a[i] + b[i] + t1;
d[i] = t2 % 10;
t1 = t2 / 10;
}
bigNumCpy(c, d);
return t1;
}
void covertInt(int x, BigNum a)//将整数转换为大数
{
int i;
for(i=0;i<NUMLEN;i++)
{
a[i] = x % 10;
x /= 10;
}
}
int numLen(const BigNum a)//大数的位颂旅数
{
int i;
for(i = NUMLEN - 1; i >= 0 && a[i] == 0; i--);
return i+1;
}
int covert(BigNum a, const BigNum b)//将大数的顺序调换
{
char c[NUMLEN];
memset(c, 0, NUMLEN);
int len = numLen(b);
int i, j;
for(i = 0, j = len - 1; i < len; i++, j--) c[i] = b[j];
bigNumCpy(a, c);
return len;
}
void printBigNum(BigNum a, int mode = 0)//大数显示
{
int i;
int flag = 1;
for(i=NUMLEN-1;i>=0;i--)
{
if(flag == 1 && a[i] == 0) continue;
else flag = 0;
printf("%c", a[i] + 0x30);
if(mode) printf(" ");
}
}
void convert1(BigNum a, const BigNum b)//
{
char c[NUMLEN];
memset(c, 0, NUMLEN);
int i, len = numLen(a);
for(i=0;i<len;i++)
{
if(a[i]*3 < 10) c[i] = a[i] * 3;
else if(a[i]*2 <10) c[i] = a[i] * 2;
else c[i] = a[i];
}
bigNumCpy(a, c);
}
void outNorepeatNum(BigNum a)//输出没有重复的数字;
{
int count[10] = {0,0,0,0,0,0,0,0,0,0};
int i, len = numLen(a);
for(i=0;i<len;i++) count[a[i]] ++;
printf("烂腔没有重复的数字:");
for(i=0;i<10;i++) if(count[i] == 1) printf("%d ", i);
printf("\n");
}
void outEnNum(BigNum a)
{
const char enNum10[10][12] =
{"zero ", "one ", "two ", "three ", "four ",
"five ", "six ", "seven ", "eight ", "nine "};
const char enNum20[10][12] =
{ "ten ", "eleven ", "twelve ", "thirteen ", "fourteen ",
"饥樱衫fifteen ", "sixteen ", "seventeen ", "eighteen ", "nineteen "};
const char enNum90[10][12]=
{ "", "", "twenty ", "thirty ", "fourty ",
"fifty ", "sixty ", "seventy ", "eighty ", "ninety "};
const char enNum100[] = "hundred ";
const char enNum1000[][20] =
{ "", "thousand ", "million ", "billion ", "trillion ",
"quadrillion ", "quintillion ", "sextillion ", "septillion ", "octillion ",
"nonillion ", "decillion ", "undecillion ", "odecillion ", "tredecillion ",
"quattuordecillion ", "quindecillion ", "exdecillion ", "septendecillion ", "octodecillion ",
"novemdecillion ", "vigintillion ", "centillion "};
int len = numLen(a) - 1;
int m = (len) / 3 + 1;
int n;
int j, k = len;
for(j=m;j>=0;j--)
{
n = (len ) % 3;
n++;
len -= n;
if(n == 3)
{
printf("%s", enNum10[a[k]]);
if(a[k]) printf("%s", enNum100);
n--; k--;
}
if(n == 2)
{
if(a[k] > 1)
{
printf("%s",enNum90[a[k]]);
n--; k--;
}
else if(a[k] == 1)
{
printf("%s",enNum20[a[--k]]);
n -= 2; k--;
}
else {k--; n--;}
}
if(n == 1)
{
if(a[k]) printf("%s",enNum10[a[k]]);
k--;
}
if(j) printf("%s",enNum1000[j-1]);
}
printf("\n");
}
//void outCnNum(BigNum a, int mode = 0)
//{
// const char num10[10][2][4] =
// {{"〇", "零"},{"一", "壹"},{"二", "贰"},{"三", "叁"},{"四", "肆"},
// {"五", "伍"},{"六", "陆"},{"七", "柒"},{"八", "捌"},{"九", "玖"}};
// const char num20[5][2][4] = {{"十", "拾"},{"百", "佰"},{"千", "仟"},{"万", "万"},{"亿", "亿"}};
// int len = numLen(a) - 1;
// int m = (len) / 8 + 1;
// int n, o, p;
// int i, j, k = len;
// for(j=m;j>=0;)
// {
// n = (len ) % 8;
// len -= n + 1;
// if(n > 3) {o = 2; p = 3;}
// else {o = 1; p = n;}
// //p = n - 4;
// while(o>0)
// {
// for(i=p;i>=0;i--)
// {
// printf("%s", num10[a[k]][mode]);
// if(i) printf("%s", num20[i-1][mode]);
// k--;
// }
// p = n - 4;
// o--;
// if(o>0) printf("%s", num20[3]);
// }
// for(i = j-1;i>0;i--) printf("%s", num20[4][mode]);
// j--;
// }
// printf("\n");
//}
int main()
{
char a[NUMLEN];
char c;
int n;
c = getchar();
srand(time(NULL));
while(c != 'n')
{
n = ((rand() & 0xFFFF) << 16) | (rand() & 0xFFFF);
printf("随机数字:%d\n", n);
covertInt(n, a);
printf("逐个输出随机数字:");
printBigNum(a,1);
printf("\n");
printf("数字位数:%d\n", numLen(a));
convert1(a, a);
covert(a, a);
printf("逐个反向输出转换后的数字:");
printBigNum(a,1);
printf("\n");
covertInt(n, a);
outNorepeatNum(a);
outEnNum(a);
//outCnNum(a);
//outCnNum(a, 1);
c = getchar();
}
for(n=0;n<NUMLEN;n++) a[n] = rand()%10;
printf("%d位随机数字:\n", NUMLEN);
printBigNum(a);
printf("\n");
outEnNum(a);
//outCnNum(a);
return 0;
}

㈡ 计算机编程中的取随机数函数是怎么实现的说一下大致原理就行

用时间高亮为种子生成的伪随机数,但猛毕并不是真正的随机,因为时间是确定枝念芹的,我以前就试验过,㝍了个程序取成千上万的随机数,然后把这些随机数以图象形式呈现出来,能发现明显的规律。更随机的方法其实也有,比如用很精确的传感器,去测量主机里的温度,风扇的转速,电路里的电压等,由于这些值会受到无数来自内外部变量的影响,难以确定值的大小,并且总是在不断变化,因此只要传感器够灵敏,用这些值做种子得到的随机数会更随机

㈢ C语言如何编程产生随机数

1、首先打开Visual stdio 2019,依次点击文件,新建,项拆喊目新建以一个空白的项目:

㈣ 如何用c语言产生一定范围内的随机数

srand((int)time(NULL));设定随机数种子

例子如下:

(4)如何编程利用随机数来表示爱意值扩展阅读:

随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。



㈤ C语言的随机抽样怎么编程

用rand函数

㈥ 如何利用EXCEL随机数字生成器生成随机数

首先介绍一下如何用RAND()函洞贺数来生成随机数(同时返回多个值时是不重复的)。
如下图所示,在单元格中输入=RAND(),回车后单元格即返回了一个随机数字。
RAND()函数返回的随机数字的范围是大于0小于1。因此,也可以用它做基础来生成给定范围内的随机数字。
生成制定范围的随机数方法是这样的,假设给定数字范围最小是A,最大是B,公式是:
=A+RAND()*(B-A)。
举例来说,要生成大于60小于100的随机数字,因为(100-60)*RAND()返回结果是0到40之间,加上坦帆范围的下限60就返回了60到100之间的数字。
上面RAND()函数返回的0到1之间的随机小数,如果要生成随机整数的话就需要用RANDBETWEEN()函数了,如下图该函数生成大于等于1小于等于100的随机整数。
这个函数的语法是这样的:=RANDBETWEEN(范围下限整数,范围上限整数),结果返回包含上下限在内的整数。注意:上限和下限也可以不是整数让颤雹,并且可以是负数。
5
RAND()和RANDBETWEEN()是生成随机数的基础函数,也可以灵活变通。比如说要生成0.01至1之间包含两位小数的随机数,则可用下图的公式实现:

㈦ 怎么使用java编程:随机产生一个1-10之间爱的随机数,由用户重复从键盘输入值,直到猜中该随机数为止

代码如下:

importjava.util.Date;
importjava.util.Scanner;

publicclassGuessNumberGames{
staticlongnowstart;
publicstaticvoidmain(String[]args){
intnumber=(int)(Math.random()*10+1);
inttemp=number;
System.out.println("请猜一个10以内的数:");
GuessNumberGamesrt=newGuessNumberGames();
intin=rt.Sn();
nowstart=newDate().getTime();
Booleanyn=rt.Compare(temp,in);
while(!yn){
System.out.println("请重新输入:");
intin1=rt.Sn();
yn=rt.Compare(temp,in1);
}
System.out.println("正确数字是:"+number);
}
publicBooleanCompare(inttemp,intnumber){
Booleanyesno=null;
if(temp==number){
System.out.println("猜对了!");
longnowend=newDate().getTime();
System.out.println("一共用时"+(nowend-nowstart)/1000+"秒");
yesno=true;
}elseif(number<temp){
System.out.println("猜小了");
yesno=false;
}elseif(number>temp){
System.out.println("猜大了");
yesno=false;
}
returnyesno;
}
publicintSn(){
Scannersc=newScanner(System.in);
intin=sc.nextInt();
returnin;
}
}

满意请采纳!

阅读全文

与如何编程利用随机数来表示爱意值相关的资料

热点内容
linuxdeb文件安装 浏览:153
word如何在箭头上写字 浏览:821
安全删除数据为什么要重写硬盘 浏览:873
税务系统网络与信息安全应急保障工作框架 浏览:407
淘宝背景代码生成 浏览:649
小学特色托管编程图形如何 浏览:748
编程实验分析怎么写 浏览:58
鼠标编程宏怎么设置 浏览:100
怎么清除百度登录过网站 浏览:503
linuxl2 浏览:116
苹果升级一直重启怎么解决 浏览:827
农商银行app怎么登录不上去 浏览:47
查看已连接宽带密码 浏览:822
日本创建购物网站需要什么 浏览:723
数据拐点什么时候出来 浏览:640
怎么做到彻底理解编程语言 浏览:167
机器人和程序编程哪个好 浏览:563
怎么改苹果手机icloud账号和密码 浏览:526
什么是P2P数据库系统 浏览:494
js遍历标签数组长度 浏览:705

友情链接