C语言程序设计——小学生计算机辅助教学系统

news2024/10/7 20:35:43

题目:小学生计算机辅助教学系统

编写一个程序,帮助小学生学习乘法。然后判断学生输入的答案对错与否,按下列任务要求以循序渐进的方式分别编写对应的程序并调试。

  • 任务1 程序首先随机产生两个1—10之间的正整数,在屏幕上打印出问题。例如:6*7=?然后输入答案,如果输入答案正确,则显示“Right!”,然后问下一个问题;否则显示“Wrong!Please try again.”,然后提示学生重做,直到答对为止。(略)
    • 任务2 在任务1的基础之上,当学生回答错误时,最多给三次重做,三次仍未做对,则显示“Wrong!You have tried three times!Test over!”,程序结束。
      • 任务3 在任务1的基础上,连续做10道乘法运算题,不给机会重做,若学生回答正确,则显示“Right!”,否则显示“Wrong!”。10道题全部做完后,按每题10分统计并输出总分,并输出学生的回答正确率。
        • 任务4 在任务2的基础上,为了提高程序的可读性,完善人机对话界面,从而达到来吸引学生的注意力,故要为学生输入的每一个正确或错误的答案输出不同的评价,正确的答案评价分为四个等级:“Very good!”、“Excellent!”、“Nice work!”、“Keep up the good work!”,错误的答案评价分为三个等级:“No.Please try again.”、“Wrong.Try once more.” ,“Don’t give up!”。
// 任务2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char const *argv[]) {
    int computerProduct, myProduct, num1, num2, redoNumber;

    srand(time(NULL));
    for (;;) {
        redoNumber = 0;
        // 产生两个 1~10 之间的随机数
        num1 = rand() % 10 + 1;
        num2 = rand() % 10 + 1;
        // 电脑计算结果
        computerProduct = num1 * num2;

        do {
            printf("%d * %d = ? ", num1, num2);
            // 我的计算结果
            scanf("%d", &myProduct);
            if (myProduct == computerProduct) {
                printf("Right!\n");
                break;
            }
            // 若同一题连续错误三次则直接结束测试
            if (redoNumber == 3) {
                printf("Wrong!You have tried three times!Test over!");
                break;
            } else printf("Wrong!Please try again.\n");
            redoNumber++;
        } while (myProduct != computerProduct);

        if (redoNumber == 3) break;
    }
    return 0;
}
// 任务3
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char const *argv[]) {
    int computerProduct, myProduct, num1, num2, winNumber = 0, questionsNumber, i;

    srand(time(NULL));
    for (questionsNumber = 1; questionsNumber <= 10; questionsNumber++) {
        // 产生两个 1~10 之间的随机数
        num1 = rand() % 10 + 1;
        num2 = rand() % 10 + 1;
        // 电脑计算结果
        computerProduct = num1 * num2;
        printf("%d * %d = ? ", num1, num2);
        scanf("%d", &myProduct);
        if (myProduct == computerProduct) {
            printf("Right!\n");
            winNumber += 10;
        } else printf("Wrong!\n");
    }
    // 统计分数
    printf("学生得分:%d\n", winNumber);
    // 统计得分率(questionsNumber++最后累计到 11) 
    printf("学生得分率:%d%%", winNumber * 10 / --questionsNumber);

    return 0;
}
// 任务4
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char const *argv[]) {
    int computerProduct, myProduct, num1, num2, redoNumber, winNumber = 0;

    srand(time(NULL));
    for (;;) {
        // 只要出现正确则把累计的错误次数清零
        redoNumber = 0;
        // 产生两个 1~10 之间的随机数
        num1 = rand() % 10 + 1;
        num2 = rand() % 10 + 1;
        // 电脑计算结果
        computerProduct = num1 * num2;
        do {
            // 只要出现错误则把累计的正确次数清零
            if (redoNumber != 0)
                winNumber = 0;
            printf("%d * %d = ? ", num1, num2);
            scanf("%d", &myProduct);
            if (myProduct == computerProduct) {
                winNumber++;
                // 输出对应正确次数的语句
                switch (winNumber) {
                    case (1):
                        printf("Keep up the good work!");
                        break;
                    case (2):
                        printf("Nice work!");
                        break;
                    case (3):
                        printf("Excellent!");
                        break;
                    default:
                        printf("Very good!");
                        break;
                }
                printf("\n");
                break;
            } else redoNumber++;
            switch (redoNumber) {
                case (1):
                    printf("No.Please try again.");
                    break;
                case (2):
                    printf("Wrong.Try once more.");
                    break;
                case (3):
                    printf("Don't give up!");
                    break;
            }
            if (redoNumber == 3) break;
            printf("\n");
        } while (1);
        if (redoNumber == 3) break;
    }
    return 0;
}

结果展示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/949388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年高教社杯 国赛数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法&#xff0c;其…

可直接运营的餐饮外卖点餐自提单多门店小程序开发演示

适合鲜花店、蛋糕店、奶茶店、餐饮店、便利店等门店商家的小程序。 小程序系统支持外卖和自提两种模式&#xff0c;帮助商家打造自己的私域流量池&#xff0c;减少对美团和饿了么的依赖&#xff0c;提升用户点餐、就餐体验。 支持会员签到获取积分的功能&#xff0c;积分可用…

喜报|擎创科技携手华胜天成,深度探索企业数字化转型之路

近日&#xff0c;上海擎创信息技术有限公司&#xff08;简称“擎创科技”&#xff09;与北京华胜天成科技股份有限公司&#xff08;简称“华胜天成”&#xff09;达成战略合作伙伴关系。 擎创科技副总裁冯陈湧与华胜天成副总裁崔勇、助理总裁郭涛一致认为在金融、保险、证券、…

神代码鉴赏

1:瞒天过海 猜下如下代码会输出啥&#xff1a; public static void main(String[] args) {// \u000d System.out.println("coder Hydra"); }啥也不输出&#xff0c;不&#xff0c;看结果&#xff1a; 神奇吧&#xff01;这是因为\u000d就是换行符的unicode编码&a…

hive表向es集群同步数据20230830

背景&#xff1a;实际开发中遇到一个需求&#xff0c;就是需要将hive表中的数据同步到es集群中&#xff0c;之前没有做过&#xff0c;查看一些帖子&#xff0c;发现有一种方案挺不错的&#xff0c;记录一下。 我的电脑环境如下 软件名称版本Hadoop3.3.0hive3.1.3jdk1.8Elasti…

Oralce Client11和PL/SQL12安装

初始环境&#xff1a; 1.阿里云轻量应用服务器已经安装Oracle11g https://blog.csdn.net/testleaf/article/details/111826134 2.阿里云轻量应用服务器已经配置Oracle11g https://blog.csdn.net/testleaf/article/details/109096654 具体目标&#xff1a; 1.安装Oralce Client1…

盘点国内2023上半年低无代码平台TOP10:你用了哪款?

随着数字化转型的加速&#xff0c;无代码/低代码平台以其高效、灵活和易用的特性&#xff0c;正在改变着企业应用开发和部署的方式。这些平台正在成为越来越多企业的首选&#xff0c;因为他们可以快速构建和部署应用&#xff0c;以适应不断变化的业务需求。在这个热潮背后&…

【CSS】解决对齐的小问题

问题&#xff1a; 表单或者页面上可能遇到文字无法对平均分&#xff0c;带有冒号的文本无法左右对齐的情况 常见的解决方式&#xff1a; 解决如下图 仍无法解决对齐的问题&#xff0c;还需要考虑字数 解决 这里用css的方式解决 增加 i 标签 固定宽度&#xff0c;设置 i …

IT 支持人员如何应对现代教育技术挑战

将技术融入教学实践为教育行业带来了重大变化。特别是近几年&#xff0c;技术在教育机构提供的产品和服务水平方面发挥了越来越重要的作用。 随着混合灵活教学&#xff08;HyFlex&#xff09;教学模式成为新的当务之急&#xff0c;学生和教职员工都希望技术能够满足自己对灵活…

Java实现根据关键词搜索当当商品列表数据方法,当当API接口申请指南

要通过当当网的API获取商品列表数据&#xff0c;您可以使用当当开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过当当开放平台API获取商品列表&#xff1a; 首先&#xff0c;确保您已注册成为当当开放平台的开发者&#xff0c;并创建…

CSS学习笔记02

CSS笔记02 美化网页元素 为什么要美化网页 目的&#xff1a; 有效的传递页面信息美化网页、页面漂亮、才能吸引用户突显页面的主题提高用户的体验 span标签 span标签是短语内容的通用行内容器&#xff0c;它本身并没有任何特殊语义。 通常我们使用span标签来把我们想要重…

【1654. 到家的最少跳跃次数】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发&#xff0c;到达它的家。 跳蚤跳跃的规则如下&#xff1a; 它可以 往前 跳恰好 a 个位置&#xff08;即往右跳&#xff09;。它可以 …

BRAM资源不够用?不怕!这里有FPGA BRAM省资源小秘招!

FPGA的BRAM和LUT等资源都是有限的&#xff0c;在FPGA开发过程中&#xff0c;可能经常遇到BRAM或者LUT资源不够用的情况。 一般建议BRAM和LUT资源的消耗不要超过80%&#xff0c;当然高端一点的FPGA芯片也可以放宽到90%&#xff0c;超过这个限制&#xff0c;可能就会出现时序违例…

必看!银行业软件测试岗位需求暴增的原因解密!

根据2023年3月中共中央、国务院印发《党和国家机构改革方案》&#xff0c;要求统筹推进中国人民银行分支机构改革。包括&#xff1a;撤销中国人民银行大区分行及分行营业管理部、总行直属营业管理部和省会城市中心支行&#xff0c;在31个省&#xff08;自治区、直辖市&#xff…

【解决】提示“找不到该项目的文件或文件夹如何删除”办法

在删除一些文件或文件夹中出现操作错误&#xff0c;后面想删除文件或文件夹时&#xff0c;弹出以下的状态栏提示↓↓↓ 此时无论怎么重启计算机还是快捷键都删除不了。 那么可采取下面的方法&#xff1a; ① 在该文件或文件夹内新建记事本&#xff0c;在记事本中输入以下代码…

QT设置mainwindow的窗口title

QT设置mainwindow的窗口title 在QT程序中&#xff0c;通常会有**aaaa-[bbbbbbb]**这种形式的title&#xff0c;对于刚上手qt的程序员同学&#xff0c;可能会简单的以为修改这种title&#xff0c;就是使用setWindowTitle这个接口&#xff0c;其实只对了一半&#xff0c;这种形式…

SpringBoot 使用 EMQX

一、SpringBoot服务器端 1. 在centos搭建 EMQX服务 2. 创建API密码 3. 在SpringBoot 的yml中添加mqqt的配置 #配置 emqx:ip: 47.109.49.176port: 18083api: xxxxxxxx &#xff08;自己的api&#xff09;secret: xxxxxxxxx &#xff08;自己的secret&#xff09; 4. 因为…

GPT4不限使用、内容加密更安全,ChatGPT企业版能否成为公司必备工具?

近日&#xff0c;OpenAI推出了ChatGPT企业版&#xff0c;这款AI助手为企业提供了更快速度的不限次数使用的GPT4。它还包括可以扩展上下文窗口以处理更长文本、加密、企业级安全与隐私保护&#xff0c;以及账户组管理功能。 在ChatGPT成功推出9个月后&#xff0c;这款流行的聊…

x86 汇编手册快速入门

本文翻译自&#xff1a;Guide to x86 Assembly 在阅读 Linux 源码之前&#xff0c;我们需要有一些 x86 汇编知识。本指南描述了 32 位 x86 汇编语言编程的基础知识&#xff0c;包括寄存器结构&#xff0c;数据表示&#xff0c;基本的操作指令&#xff08;包括数据传送指令、逻…

42、Flink 的table api与sql之Hive Catalog

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…