首先由使用者选择是运算 + - * / 中的哪一种运算。
然后生成2个随机整数(1-100)之间(不能是伪随机数)
显示两数字的运算关系。要求使用者打出答案。
判断正确还是错误。
一共出10题,每题正确或者错误都记录分数。
10题结束后,自动给出总分。
请高手们帮帮忙。用WIN-TC编个源代码。。谢谢
----------------解决方案--------------------------------------------------------
急求啊!!!!!!!!!!! 大哥 大姐们帮帮我!
----------------解决方案--------------------------------------------------------
晕,你是做课件在用吧!!
其实我是刚学的,估计你 这个不难,但是现场编不出来,不是高手啊!
你可以把四则运算分别写成四个函数,逐一调用不就行了???
用rand()产生随机数
----------------解决方案--------------------------------------------------------
确实挺好写,不过计算机产生的都是伪随机数 最多初始化下种子
----------------解决方案--------------------------------------------------------
你用swich case开发,很简单。
----------------解决方案--------------------------------------------------------
哈哈哈,是啊,怎么可能不是伪随机呢,已知条件是无法办到的事情嘛
不过类似的程序倒是看过
----------------解决方案--------------------------------------------------------
#define P {printf("正确");return score1;}else {printf("错误.");return score2; }
#include <stdlib.h>
main()
{
int compute(char *p);
char ch; //ch为输入的+,-,*,/
int i=0; //i为出题次数
int score=0; //score为成绩
do
{
printf("please input :");
scanf("%c",&ch);
score+=compute(&ch);
i+=1;
}
while(i<=10);
printf("你的得分:%d分",score);
}
int compute(char *p)
{
static int i;
int a,b,c; //a,b为随机数,c为a,b经过运算后的正确得数
int score1=10,score2=0;//score1,score2为每道题的得分:0或10
i=0;
i++;
a=rand()%100+1;
b=rand()%100+1;
switch(*p)
{
case'+': printf("%d. %d+%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'-': printf("%d. %d-%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'*': printf("%d. %d*%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'/': printf("%d. %d/%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
}
}
tc 2.0下运行正常
----------------解决方案--------------------------------------------------------
需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机
数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会
产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。
伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随
机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有
时不遵守任何规律;伪随机数有一部分遵守一定的规律;另一部分不遵守任何规律。比
如“世上没有两片形状完全相同的树叶”,这正是点到了事物的特性,即随机性,但是
每种树的叶子都有近似的形状,这正是事物的共性,即规律性。从这个角度讲,你大概
就会接受这样的事实了:计算机只能产生伪随机数而不能产生绝对随机的随机数。
----------------解决方案--------------------------------------------------------
喝口湘江水,迎着秋风站。
――摘自<雷锋之歌>
----------------解决方案--------------------------------------------------------
#define P {printf("正确");return score1;}else {printf("错误.");return score2; }
#include <stdlib.h>
main()
{
int compute(char *p);
char ch; //ch为输入的+,-,*,/
int i=0; //i为出题次数
int score=0; //score为成绩
do
{
printf("please input :");
scanf("%c",&ch);
score+=compute(&ch);
i+=1;
}
while(i<=10);
printf("你的得分:%d分",score);
}
int compute(char *p)
{
static int i;
int a,b,c; //a,b为随机数,c为a,b经过运算后的正确得数
int score1=10,score2=0;//score1,score2为每道题的得分:0或10
i=0;
i++;
a=rand()%100+1;
b=rand()%100+1;
switch(*p)
{
case'+': printf("%d. %d+%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'-': printf("%d. %d-%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'*': printf("%d. %d*%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'/': printf("%d. %d/%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
}
}
tc 2.0下运行正常
----------------解决方案--------------------------------------------------------