您的位置:

c语言口算刷题,c语言1000题

本文目录一览:

用C语言实现一个小学生口算及自测系统,实现自动出题,根据答题情况评分并记载入档案,并能根据成绩进行排

#include stdio.h

#include stdlib.h

#include time.h

//产生 [a,b] 区间的随机数

#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))

//产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可

#define GEN_VALUE() RANDOM(1, 20)

int main()

{

int v1, v2, t, r, a;

char op, ops[] = { '+', '-', '*', '/' };

srand( (unsigned)time(NULL) ); //用当前时间初始化随机数种子

printf( "请答题 Ctrl+C 结束...\n" );

while(1)

{

v1 = GEN_VALUE(); //随机生成第1个算数

v2 = GEN_VALUE(); //随机生成第2个算数

op = ops[ RANDOM(0,3) ]; //随机决定是哪个运算符

//保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可

if( v1v2 )

{

t = v1;

v1 = v2;

v2 = t;

}

//如果运算符为除法,且v1不能被v2整除则重新生成题目

if( op=='/' v1%v2!=0 )

continue;

//计算正确的结果

switch(op)

{

case '+': a=(float)v1+(float)v2; break;

case '-': a=(float)v1-(float)v2; break;

case '*': a=(float)v1*(float)v2; break;

case '/': a=(float)v1/(float)v2; break;

}

//输出算式

printf( "%d%c%d=", v1, op, v2 );

//等待输入结果

scanf( "%d", r );

if( r == a )

printf( " 答对喽!\n\n" );

else

printf( " 答错喽!正确答案是:%d\n\n", a );

}

}

准备考c语言计算机二级,用什么软件刷题好

计算机二级,用什么软件刷题好:

首先我们先看下软件下图1、2展示,最后是软件!

1、全国计算机等级考试超级模拟软件。

汇聚了多年开发全国计算机等级考试模拟软件的丰富经验,并综合有经验的命题专家、教授和全国各地考点一线教师的建议基础上研制而成。本套软件采用模拟考试形式,以大量的习题练习,强化考生的应考能力。

2、捷成全国计算机等级考试练习系统。

上机考试系统提供了历届考试题100套,并附有试题分析和参考答案,可以帮助考生熟悉考试模式,提高应试能力,测试实际操作和应变能力,自己评定成绩,对正式考试时能否通过进行初步的估计。

3、未来教育2017二级msoffice模拟软件

以其模式的高专业度,题库权威度而闻名业界,它聚合历年真题加以分析从而提出权威预测,效果非常不错。

用C语言写一个 小学生口算出题系统

一、设计的流程:

1. 主界面设计,选择练习或测试,按ESC结束程序。

2. 题型选择界面设计,选择加、减、乘、除或混合运算,按ESC返回主界面。

3. 系统随机出题,运算数及结果均在100以内,乘、除法应能整除,显示算式。

4. 练习时,系统随机出题,键入结果,正确和错误均有提示,出错时允许再输入,最多三次机会,若还不正确,给出答案。继续出题,按ESC,显示总题数,正确数和正确率。

5. 测试时,系统自动出10道题,每题只给一次机会,每题10分,统计得分。结束后,给出总分,显示各题的对错信息,错误的给出答案。中间按ESC键结束。显示已作题的对错信息,错误的给出答案,不显示得分,按任意键返回题型选择界面。

相关知识:按键操作、数组、指针、结构体等

二、例程:

#includestdlib.h

#includestdio.h

#includeconio.h

#includetime.h

void main()

{

  int a[10],b[10],d[10],c[10],num=0,result,add=0;

  float val;

  char fa[5]={'+','-','*','/'};

  

  /* 出10道题 */

  while(1)

  {

   srand((unsigned)time(NULL));

   d[num]=abs(rand())%4;/* 保证出题算法的随机性 */

   while(1)   /* 保证出题成功 */

   {

   c[num]=-1;

   a[num]=abs(rand())%100;

   b[num]=abs(rand())%100;

   if(d[num]==0) c[num]=a[num]+b[num];

   else if(d[num]==1) c[num]=a[num]-b[num];

   else if(d[num]==2) c[num]=a[num]*b[num];

   else if(d[num]==3) 

     {

       if(b[num]0)val=1.0*a[num]/b[num];

       else val=-1;

     }

   if(d[num]=2)

      { 

       if(c[num]=0  c[num]=100) break;

       }

   else

      { 

    if(a[num]==int(val)*b[num]  val=0)

       {c[num]=val; break;}

       }

   }

   num++;

   if(num==10) break;

  }

  /* 回答 */

  num=0;

  while(1)

  {

   printf("%d %c %d= ",a[num],fa[d[num]],b[num]);

   scanf("%d",result);

   if(result==c[num])

   {

    printf("回答正确!\n");

    add+=10;

   }

   else

    printf("错误,正确答案: %d\n",c[num]);

      num++;

      if(num==10) break;

    }

  printf("\n得分:%d\n",add);

  getch();

}

利用C语言随机产生20道口算题?

解题思路:

1、编写测试题,且为30道,就要用到循环函数,因此想到用for()函数。

2、随机产生两个数,就想到用rand()函数。

代码如下:#includeiostream.h

#includestdlib.h

#includetime.h

int main()

{

int x,y,z,t;

srand(time(NULL));

cout"小学二年级四则运算测试题"endl;

for(int i=0;i30;i++)

{

x=rand()%100;

y=rand()%100;

z=rand()%4;

switch(z)

{

case 0:

 coutx"+"y"="endl;

 break;

case 1:

 if(xy)

 {

  t=x;

  x=y;

  y=t;

 }

 coutx"-"y"="endl;

 break;

case 2:

 coutx"*"y"="endl;

 break;

case 3:

 if(y!=0)

 {

 coutx"/"y"="endl;

 }

 else

 {

  i=i-1;

 }

 break;

default:

 cout"超出测试范围"endl;

 break;

}

}

cout"恭喜你已经完成了30道数学测试题"endl;

return 0;

}