【C语言】小学数学练习

  1. 小学数学练习
    1.1【问题描述】
    编写一个帮助小学生练习数学的程序,帮助小学生练习100 以内的四种数学运算:加、减、乘、除。
    1.2【基本要求】
    a) 程序应先询问用户的ID 号(ID 号包括两个大写字母和4 位数字),例如:
    请输入用户ID 号:AB1234
    程序应对输入的ID 号验证,符合ID 号要求的格式,然后程序提示三种选择:
    (1)开始测试
    (2)检查分数
    (3)退出
    b) 测试:该程序将给出10 道数学题,例如:
    12 * 3 =36
    48 + 32 =80

    56 / 28 =2
    注意:
    i)学生将依次回答每一个问题(在等于号后面给出答案),然后给出下一道题。
    ii)试题应包含四种数学运算:加、减、乘、除,它们是随机产生的。相邻的问题应该是不同的操作,
    每个操作必须至少出现一次。
    iii)为每道题随机生成数字,但必须确保参与运算的数字和结果都小于100 且大于零的整数。
    iv)十道题做完后,记录学生完成这十道题所用的时间。
    v)给每个学生一个分数。将该学生的ID、成绩和使用时间保存到一个名为record.txt 的文件中。
    vi)在屏幕上输出以下信息:
    问题 | 正确答案 | 你的答案
    c) 成绩检查:从文件“record.txt”中列出该学生的所有历史成绩。例如:
    你以前的记录是:
    AB1234 80 150 秒
    AB1234 50 182 秒
    AB1234 90 98 秒

代码如下:

//
// Created by Tshaxz on 2020/10/31.
//


#include <stdio.h>
#include <ctype.h> // 为了使用判断大写字母以及数字函数
#include <string.h> //为了使用strlen函数
#include <time.h>
#include <stdlib.h>
#include <math.h>
#define numLength 20  //字符数组的大小
//函数声明
int getSignal();//获取随机运算符
int random(double start, double end);//获取随机数
int getResult(int num1, char signal, int num2);//获取结果函数
void test();//出题函数
void printResult();//打印成绩函数
int IDcheck(char idnum[]);//ID格式检查函数
void gradeCheck();//成绩查询函数


char idnum[numLength];//定义字符数组用来接收用户输入的ID
int num1 = 0;
int num2 = 0;
int signalIndex = 0;
int n1[10], n2[10], s[10], r1[10], r2[10];
char ch;
//生成随机运算符函数
int getSignal()
{
   
    char signal[4] = {
    '+','-','*','/' };
    signalIndex++;
    return signal[(signalIndex - 1) % 4];
}
//生成随机数函数
int random(double start, double end)
{
   
  • 10
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值