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道题,得分率%.2f\n", sum, 1.0*sum/10*100);
    return 0;
}
  1. 进一步改进,提高题目质量。要求(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道题,得分率%.2f\n", 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道题,得分率%.2f\n", sum, 1.0*sum/10*100);
    fclose(fp);
    return 0;
}

时间: 2024-09-10 22:35:11

C语言项目参考-小学生数学考试系统的相关文章

c++-使用C语言编写单项选择题标准化考试系统,谁会啊??

问题描述 使用C语言编写单项选择题标准化考试系统,谁会啊?? 使用C语言编写单项选择题标准化考试系统. 一.功能要求: 1.每个试题包括题干.4个备选答案.标准答案.(使用二维数组实现) 2.试题录入:可随时增加试题到试题库中.(使用二维数组实现) 3.答题:用户可实现输入自己的答案.(用户从键盘输入) 4.自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩.(与数组中存放的正确答案对比) 解决方案 单项选择题系统 解决方案二: 带界面的?还是控制台的?

C语言项目参考解答:全正整数后再计算

[项目-全正整数后再计算](题目改编自对一位网络学员的辅导) 输入3个正整数,其中任一数不是正整数,程序输出Invalid number!,然后结束运行.当第1个数为奇数时,计算后两数之和,当第1个数为偶数时,计算第2数减去第3数的差.无论哪种情形,当结果超过10时按如下示例输出,否则什么也不输出. 示例 1: Enter number 1: 2 Enter number 2: -7 Invalid number! 示例2: Enter number 1: 17 Enter number 2:

java-JAVA项目 考试系统 倒计时问题

问题描述 JAVA项目 考试系统 倒计时问题 在考生点击参加考试的时候,倒计时开始计时,要求 做到断电 ,断网的时候 , 倒计时停止,来电,或者来网之后,倒计时继续上次的时间走. 哪位大神如果能有好的方法,帮忙解决,感激不尽!!! 解决方案 你的设计挺不合理的.那考生参加考试后,用手机拍下题目,立刻拔掉网线或者关机,然后慢慢思考,回答,等求出答案写在草稿纸上,再联网答题,岂不是很不公平. 按理说应该一旦开始考试,管你断网不断网,都照样计时.毕竟断电断网是小概率. 解决方案二: 最好以一个固定的考

android-手里的Android项目就差一个订单系统了,毫无头绪,谁能给个源码链接参考下,跪求

问题描述 手里的Android项目就差一个订单系统了,毫无头绪,谁能给个源码链接参考下,跪求 手里的Android项目就差一个订单系统了,毫无头绪,谁能给个源码链接参考下,跪求 解决方案 当然你要做适当修改.数据库.服务器部署等等,不可能有拿来就能运行的程序,否则你应该花钱雇人开发算了. 解决方案二: http://download.csdn.net/detail/o1587790525/5621145http://blog.csdn.net/o1587790525/article/detail

基于Web在线考试系统的设计与实现

这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973   数据库原理课程设计说明书              基于Web在线考试系统的设计与实现             目  录   1 课题背景与意义.3 1.1课题开发背景.3 1.2 课题开发意义.3 2 系统需求分析.4 2.1 项目要求.4 2.2 开发方案.5 2.3开发环境.5 3 总体开发.

分享一个LiteDB做的简单考试系统辅助工具

    凌晨,被安排在公司值班,因为台风"灿鸿"即将登陆,风力太大,办公楼,车间等重要部分需要关注.所以无聊,那就分享一下,今天给朋友临时做的一个小的考试系统辅助工具吧.其实非常小,需求也很简单,但是可以根据实际需要进行扩充,暂时只实现了一些核心功能.界面丑了点,无所谓,凑合着用吧. 1.考试系统辅助需求     上午10点一个朋友紧急求助,单位要进行在线测评,开卷考试,题库以及答案已经发给他们了,但是太多,好几百道题目,翻资料都来不及.问我能不能做一个软件,能够快速填充答案或者找到题

大家都来挑战一下难度!考试系统找出作弊的人!

问题描述 虽说不是项目中..假设有一个考试系统...ABCD型的答案...怎么找到答案相似度高的同学...用来方便查找是否有人作弊..除了一个个用费时的for的话有没有更好的办法..数据表又怎么建? 解决方案 解决方案二:可以比较有几个答案不一样肯定得循环啊,至于用for还是while就看你了解决方案三:选择题判断有没有作弊是不行的利用主观题程序也查不来这事还要人做解决方案四:可以查找一下错误答案相同...连错误的都差不多~~~!肯定的啦..而且是查的相似度..不是100%.只是拿来参考下是不是

ASP.NET做个在线考试系统!要多少钱?

问题描述 主要功能包括:1)开放试的题库管理:题目编辑(添加,修改,删除,查询,参考答案编辑),题目分类(题型分类,包括选择,填空,解答题等等:难易程度分级,为每题设定难易系数,分值,知识点等):2)开放式的试卷管理:出题规则管理(编辑试卷难易级别,考试时间设定),试卷类型选择(根据难易程度和答题模式),试卷生成(响应客户端选择的试题级别,随机生成相应级别的试卷),自动评分:3)考试结果分析及评价:4)学生可完成个人信息维护:可进入试题管理系统自动组卷进行自我测试:试卷内容可由学生自己选定,也可

网上考试系统编制中的随机抽取试题的四种算法

算法|随机 因为教学的需要,我决定编写一个asp+ms sql2000的网上考试系统,其功能主要为:实现判断题.单项多项选择题和填空题的在线自动答题.改卷:并将学生的错误答案记入数据库,供教师分析.在编写从题库中随机抽取试题这一模块的算法上,却颇费了一番周折,现将解决过程记录如下,以供大家参考. 为了便于说明问题,文中提供的代码中的变量pd为从题库中要抽取出来考试的试题数量,数据库表名与字段名我都使用了中文,并仅以判断题为例. 算法一 由于不知道如何实现从题库中随机抽取试题的sql语句,我在网上