C语言答辩问题
过几天我们要在课上答辩,下面是别人帮我写的程序,问几个问题帮忙解决一下。#include<stdio.h>#include<stdlib.h>#include<time....
过几天我们要在课上答辩,下面是别人帮我写的程序,问几个问题帮忙解决一下。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int num1,num2,i,menu=1,result;
char signal;
srand((unsigned)time(NULL));
printf("选择运算类型:\n1.加法\n2.减法\n3.乘法\n4.除法");
while(menu)
{
scanf("%d",&menu);
num1=rand()%90+10;//保证是2位
num2=rand()%90+10;
switch(menu)
{
case 1:
printf("%3d+%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1+num2)
{
printf("不对!请重做!\n");
printf("%3d+%3d=",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
case 2:
printf("%3d-%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1-num2)
{
printf("不对!请重做!\n");
printf("%3d-%3d=",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
case 3:
printf("%3d*%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1*num2)
{
printf("不对!请重做!\n");
printf("%3d*%3d=",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
case 4:
printf("%3d/%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1/num2)
{
printf("不对!请重做!\n");
printf("%3d/%3d",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
}
}
printf("退出程序\n");
}
第一:#include <time.h>这是什么意思?
第二:int num1,num2,i,menu=1,result;
char signal;
srand((unsigned)time(NULL));
是什么意思?
最好帮我解释一下前面的都是干嘛用的 ,我应该怎么和老师同学说。 展开
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int num1,num2,i,menu=1,result;
char signal;
srand((unsigned)time(NULL));
printf("选择运算类型:\n1.加法\n2.减法\n3.乘法\n4.除法");
while(menu)
{
scanf("%d",&menu);
num1=rand()%90+10;//保证是2位
num2=rand()%90+10;
switch(menu)
{
case 1:
printf("%3d+%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1+num2)
{
printf("不对!请重做!\n");
printf("%3d+%3d=",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
case 2:
printf("%3d-%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1-num2)
{
printf("不对!请重做!\n");
printf("%3d-%3d=",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
case 3:
printf("%3d*%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1*num2)
{
printf("不对!请重做!\n");
printf("%3d*%3d=",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
case 4:
printf("%3d/%3d=",num1,num2);
scanf("%d",&result);
while(result!=num1/num2)
{
printf("不对!请重做!\n");
printf("%3d/%3d",num1,num2);
scanf("%d",&result);
}
printf("很好!");
break;
}
}
printf("退出程序\n");
}
第一:#include <time.h>这是什么意思?
第二:int num1,num2,i,menu=1,result;
char signal;
srand((unsigned)time(NULL));
是什么意思?
最好帮我解释一下前面的都是干嘛用的 ,我应该怎么和老师同学说。 展开
2个回答
展开全部
一:时间头文件 包含对时间的操作函数,就像stdio.h一样
2:取随机数的操作语句利用时间来取。rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。 srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。
2:取随机数的操作语句利用时间来取。rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。 srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询