博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人项目3
阅读量:4345 次
发布时间:2019-06-07

本文共 1478 字,大约阅读时间需要 4 分钟。

源程序代码:

#include <stdio.h>

#include <time.h>
#include <stdlib.h>
#include <string.h>
#define OP_MIN 0
#define OP_MAX 3
#define OP_VALUE_MIN 1
#define OP_VALUE_MAX 99
char op_str[4] = {'+', '-', '*', '/'};
unsigned int rand_interval(int max)
{    
    
    return rand() % max;
}
unsigned int rand_num(int min, int max) {
    if (min >= max) {
        return -1;
    }
    if (min == 0) {
        return rand_interval(max);
    }else {
        return rand_interval(max - min) + min;
    }
}
void main()
{
    int standard_lv[20], standard_rv[20];
    char standard_op[20];
    int standard_ans[20];
    int user_ans[20];
    srand(time(NULL));
    int i;
    for (i = 0; i < 20; ++i) {
        int op_idx = rand_num(OP_MIN, OP_MAX);
        int lv = rand_num(OP_VALUE_MIN, OP_VALUE_MAX);
        int rv = rand_num(OP_VALUE_MIN, OP_VALUE_MAX);
        printf("%d %c %d = ", lv, op_str[op_idx], rv);
        standard_lv[i] = lv, standard_rv[i] = rv, standard_op[i] = op_str[op_idx];
        switch (op_str[op_idx]){
            case '+': standard_ans[i] = lv + rv; break;
            case '-': standard_ans[i] = lv - rv; break;
            case '*': standard_ans[i] = lv * rv; break;
            case '/': standard_ans[i] = lv / rv; break;
        }
        scanf("%d", user_ans +i);
        printf("\n");
    }
    for (i = 0; i < 20; ++i) {
        printf("question %d is %s\n", i, (standard_ans[i]==user_ans[i]?"yes":"no"));
    }
    printf("=================================\n");
    for (i = 0; i < 20; ++i) {
        if (standard_ans[i] != user_ans[i]) {
            printf("%d %c %d = %d\n", standard_lv[i], standard_op[i], standard_rv[i], standard_ans[i]);
        }
    }
}

 

运行结果截图:

 

转载于:https://www.cnblogs.com/oliverqueen/p/10238661.html

你可能感兴趣的文章
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
查看>>
阶段3 2.Spring_02.程序间耦合_8 工厂模式解耦的升级版
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
查看>>
阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_08.ssm整合之Spring整合MyBatis框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_19、SpringBoot个性化启动banner设置debug日志...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>