当前位置: 代码迷 >> C语言 >> [求助]求一个小学生的四则运算程序代码
  详细解决方案

[求助]求一个小学生的四则运算程序代码

热度:169   发布时间:2006-07-01 16:26:35.0
[求助]求一个小学生的四则运算程序代码
要求: 用于检验小学生四则运算水平
首先由使用者选择是运算 + - * / 中的哪一种运算。
然后生成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下运行正常


----------------解决方案--------------------------------------------------------
  需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机

数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会

产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。

  伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随

机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有

时不遵守任何规律;伪随机数有一部分遵守一定的规律;另一部分不遵守任何规律。比

如“世上没有两片形状完全相同的树叶”,这正是点到了事物的特性,即随机性,但是

每种树的叶子都有近似的形状,这正是事物的共性,即规律性。从这个角度讲,你大概

就会接受这样的事实了:计算机只能产生伪随机数而不能产生绝对随机的随机数。
  
----------------解决方案--------------------------------------------------------
赞扬一下(han2y)
小树长成材,去把重任担。
喝口湘江水,迎着秋风站。

  ――摘自<雷锋之歌>
----------------解决方案--------------------------------------------------------
以下是引用han2y在2006-7-2 2:53:43的发言:

#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下运行正常

不管能不能用 先谢谢你了!@

----------------解决方案--------------------------------------------------------