- 问题描述
编写程序实现100以内两个随机生成整数求和运算
#include<stdio.h>
#include<stdlib.h>
/*
printf(),scanf()函数的原型在 stdio.h 文件中
伪随机函数 int rand() 的原型在 stdlib.h 文件中 所以声明这两个库函数
*/
int main()
{
int a,b,c;
a = rand()%100;
b = rand()%100;
c = a + b;
printf("随机生成100以内的两个整数分别为%d、%d,二者就和结果为:%d",a,b,c);
return 0;
}
上述代码只能实现随机生成一次的结果,无法连续多次,可以改进。通过time函数,让其充当伪随机数种子。
// 改进
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define NUM 5
/*
printf(),scanf()函数的原型在 stdio.h 文件中
伪随机函数 int rand() 的原型在 stdlib.h 文件中 所以声明这两个库函数
time()函数在 time.h 文件中
*/
int main(void)
{
int i,a,b,c;;
time_t t; //当前时刻变量
// 使用当前时间值初始化伪随机数种子序列
srand((unsigned)time(&t));
// 生成0到99的伪随机数
for (i = 0; i < NUM; i++)
{
a = rand()%100;
b = rand()%100;
}
c = a + b;
printf("随机生成100以内的两个整数分别为%d、%d,二者就和结果为:%d",a,b,c);
return 0;
}
-rand()函数用法参见添加链接描述
(争取每天更新一道实例题呀~~~)