C语言项目小学生数学考试系统参考分享!

【项目3-小学生数学考试系统】

1.做一个小学生考试系统,功能包括:

(1)利用随机数出10道加法题;

(2)小学生用户答题给出每道题的答案;

(3)对小学生的答题进行评判;

(4)计算出小学生答题正确率。

2. 进一步改进,提高题目质量。

要求(1)百以内算术:运算数、结果都在100以内!

(2)先随机产生运算符后,针对各个运算产生运算数保证下列要求:对加法,两数之和保证不大于100;对减法,被减数大于减数,且被减数不大于100;对乘法:两数之积不超过100;对除法:被除数大于除数,且被除数不大于100,除数不许为0。

3. 建立一个文件,里面包含人工出好的题目。程序从文件中读取题目。

参考解答:

1.做一个小学生考试系统,功能包括:

(1)利用随机数出10道加法题;

(2)小学生用户答题给出每道题的答案;

(3)对小学生的答题进行评判;

(4)计算出小学生答题正确率。

  #include <stdio.h>  #include <stdlib.h>  #include <time.h>  int main()  {    int sum=0;/*学生答对题目*/    int a,b,d,t; /*分别表示两个运算数,正确答案及学生输入的答案*/    int i;    srand(time(0)); /*初始化随机种子*/    for(i=0; i<10; i++)    {      printf("第 %d 题: ", i+1);      a=rand()%10+1;      b=rand()%10+1;      d=a+b; /*得到正确答案*/      printf("%d+%d=", a, b);      scanf("%d", &t);      if(t==d) /*用户输入的答案与正确答案对比*/      {        printf("  right! n");        sum++;      }      else        printf("  wrong! n");    }    printf("共答对了%d道题,得分率%.2fn", sum, 1.0*sum/10*100);    return 0;  }

进一步改进,提高题目质量。

要求(1)百以内算术:运算数、结果都在100以内!

(2)先随机产生运算符后,针对各个运算产生运算数保证下列要求:对加法,两数之和保证不大于100;对减法,被减数大于减数,且被减数不大于100;对乘法:两数之积不超过100;对除法:被除数大于除数,且被除数不大于100,除数不许为0。

  #include <stdio.h>  #include <stdlib.h>  #include <time.h>  int main()  {    int sum=0;//学生得分    int a,b,d,t; //分别表示两个运算数,正确答案及学生输入的答案    int c; //运算:0-加 1-减 2-乘 3-除    int i;    srand(time(0)); //初始化随机种子    for(i=0; i<10; i++)    {      printf("第 %d 题: ", i+1);      c=rand()%4;      do      {        a=rand()%100+1;        b=rand()%100+1;        if(a<b&&(c==1||c==3)) //给小学生的题,减和除运算保证大减小和大除以小        {          d=a;          a=b;          b=d;        }        if(c==3)//对于除法,调整被除数,以保证能整除          a=(a/b)*b;      }while((a+b)>=100||a*b>=100);      //以上满足了题意的要求,但可以看到出题质量还可以优化      switch(c)      {      case 0://加法        d=a+b;        printf("%d+%d=", a, b);        break;      case 1: //减法        d=a-b;        printf("%d—%d=", a, b);        break;      case 2: //乘法        d=a*b;        printf("%d×%d=", a, b);        break;      case 3: //除法        d=a/b;        printf("%d÷%d=", a, b);        break;      }      scanf("%d", &t);      if(t==d)      {        printf("  right! n");        sum++;      }      else        printf("  wrong! n");    }    printf("共答对了%d道题,得分率%.2fn", sum, 1.0*sum/10*100);    return 0;  }

3.建立一个文件,里面包含人工出好的题目。程序从文件中读取题目。

  #include <stdio.h>  #include <stdlib.h>  int main()  {    int sum=0;//学生得分    int a,b,d,t; //分别表示两个运算数,正确答案及学生输入的答案    char c; //运算:0-加 1-减 2-乘 3-除    int i;    FILE *fp;    fp=fopen("excise.txt","r");    if(fp==NULL)    {      printf("cannot open file!n");      exit(1);    }    for(i=0; i<10; i++)    {      fscanf(fp, "%d%c%d", &a, &c, &b);      printf("第 %d 题: ", i+1);      switch(c)      {      case '+'://加法        d=a+b;        printf("%d+%d=", a, b);        break;      case '-': //减法        d=a-b;        printf("%d—%d=", a, b);        break;      case '*': //乘法        d=a*b;        printf("%d×%d=", a, b);        break;      case '/': //除法        d=a/b;        printf("%d÷%d=", a, b);        break;      }      scanf("%d", &t);      if(t==d)      {        printf("  right! n");        sum++;      }      else        printf("  wrong! n");    }    printf("共答对了%d道题,得分率%.2fn", sum, 1.0*sum/10*100);    fclose(fp);    return 0;  }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对<计算机技术网(www.ctvol.com)!!>的支持。如果你想了解更多相关内容请查看下面相关链接

—-想了解C语言项目小学生数学考试系统参考分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/482844.html

(0)
上一篇 2020年11月9日
下一篇 2020年11月9日

精彩推荐