首页 > 其他分享 >小学生教学辅助系统C语言实验报告

小学生教学辅助系统C语言实验报告

时间:2023-12-09 22:24:22浏览次数:27  
标签:Magic int 1f C语言 break printf answer 实验报告 小学生

一、实验目的

(1)   掌握变量、函数的使用

(2)   掌握选择结构、循环结构的使用

(3)   熟悉模块化程序设计的方法

二、实验仪器或设备

微型计算机

三、总体设计(设计原理、设计方案及流程等)

设计一个简单的小学生计算机辅助教学系统,帮助小学生学习四则运算。使用模块化程序设计方法,利用函数实现各模块功能。

提示:参照第7章课后题7.14,从任务1到任务6,实现循序渐进的方式编程。

 

 

四、实验步骤(包括主要步骤、代码分析等)

五、结果分析与总结

 

#include <stdio.h>    
#include <stdlib.h>    
#include <time.h>    
int Magic(int m);
int main()
{
    int answer, answer1;
    int counter =0;
    do {

        answer = Magic(1) * Magic(2);
        printf("%d*%d=", Magic(1), Magic(2));
            

        scanf("%d", &answer1);
            if (answer == answer1) 
            {
                printf("Right!\n");
                break;
            }
            else
            {
                printf("Wrong| Please try again.\n");
            }
    } while (counter <= 1); //提示学生重做,直到答对为止
return 0;
}

int Magic(int m) //随机赋值两个1-10的数
{
    srand(time(NULL));
    int x = rand() % 10 + 1;
    int y = rand() % 10 + 1;
    if (m == 1) 
        return x;
    else if (m == 2)
        return y;
    else return -1;  
}//返回随机数

 

 

#include <stdio.h>    
#include <stdlib.h>    
#include <time.h>    
int Magic(int m);
int main()
{
    int answer, answer1;
    int counter =1;
    do {

        answer = Magic(1) * Magic(2);
        printf("%d*%d=", Magic(1), Magic(2));


        scanf("%d", &answer1);
        if (answer == answer1)
        {
            printf("Right!\n");
            break;
        }    
        
        if (counter == 3)
        {
            printf("You have three time|Test over\n");
            break;
        }
        else
        {
           printf("Wrong| Please try again.\n");
        } 
            counter++;
            
    } while (counter <=3);
    
    return 0;
}

int Magic(int m) {
    srand(time(NULL));
    int x = rand() % 10 + 1;
    int y = rand() % 10 + 1;
    if (m == 1) 
        return x;
    else if (m == 2)
        return y;
    else return -1;  
}

 

 

#include <stdio.h>    
#include <stdlib.h>    
#include <time.h>    
int Magic(int m);
int main()
{
    int answer, answer1;
    int counter = 1;
    int a=0, b=0;
    int score;
    float rate;
    do {

        answer = Magic(1) * Magic(2);
        printf("%d*%d=", Magic(1), Magic(2));


        scanf("%d", &answer1);
        if (answer == answer1)
        {
            printf("Right!\n");
            a++;
        }

        else
        {
            printf("Wrong!\n");
            b++;
        }
        counter++;

    } while (counter <= 10);
    score = a * 10;
    rate = (float)a / 10;

    printf("score=%d\n", score);
    printf("rate=%.1f%%\n", rate*100);
    return 0;
}

int Magic(int m) {
    srand(time(NULL));
    int x = rand() % 10 + 1;
    int y = rand() % 10 + 1;
    if (m == 1)
        return x;
    else if (m == 2)
        return y;
    else return -1;
}

 

 

#include <stdio.h>    
#include <stdlib.h>    
#include <time.h>    
double Magic(int m);
int main()
{
    double answer, answer1;
    int counter = 1;
    int a = 0, b = 0;
    int score, c;
    float rate;
    do {
        c = rand() % 4;
        switch (c) {
        case 0:
            answer = Magic(1) / Magic(2);
            printf("%.1f/%.1f=", Magic(1), Magic(2));
            break;
        case 1:
            answer = Magic(1) + Magic(2);
            printf("%.1f+%.1f=", Magic(1), Magic(2));
            break;
        case 2:
            answer = Magic(1) - Magic(2);
            printf("%.1f-%.1f=", Magic(1), Magic(2));
            break;
        case 3:
            answer = Magic(1) * Magic(2);
            printf("%.1f*%.1f=", Magic(1), Magic(2));
            break;

        }

        scanf("%lf", &answer1);
        if (answer == answer1)
        {
            printf("Right!\n");
            a++;
        }

        else
        {
            printf("Wrong!\n");
            b++;
        }
        counter++;

    } while (counter <= 10);
    score = a * 10;
    rate = (float)a / 10;

    printf("score=%d\n", score);
    printf("rate=%.1f%%\n", rate * 100);
    return 0;
}

double Magic(int m) {
    srand(time(NULL));
    int x = rand() % 10 + 1;
    int y = rand() % 10 + 1;
    if (m == 1)
        return x;
    else if (m == 2)
        return y;
    else return -1;
}

 

 

#include <stdio.h>    
#include <stdlib.h>    
#include <time.h>    
double Magic(int m);
int main()
{
    double answer, answer1;
    int counter = 0;
    int a = 0, b = 0;
    int score, c;
    float rate;
    do {
        counter = 0;
    
    do {
        c = rand() % 4;
        switch (c) {
        case 0:
            answer = Magic(1) / Magic(2);
            printf("%.1f/%.1f=", Magic(1), Magic(2));
            break;
        case 1:
            answer = Magic(1) + Magic(2);
            printf("%.1f+%.1f=", Magic(1), Magic(2));
            break;
        case 2:
            answer = Magic(1) - Magic(2);
            printf("%.1f-%.1f=", Magic(1), Magic(2));
            break;
        case 3:
            answer = Magic(1) * Magic(2);
            printf("%.1f*%.1f=", Magic(1), Magic(2));
            break;

        }

        scanf("%lf", &answer1);
        if (answer == answer1)
        {
            printf("Right!\n");
            a++;
        }

        else
        {
            printf("Wrong!\n");
            b++;
        }
        counter++;
        rate = (float)a / 10;
    } while (counter != 10);
    score = a * 10;


    printf("score=%d\n", score);//score表示为分数。
    printf("rate=%.1f%%\n", rate * 100);//rate表示为正确率。
    } while (rate <= 0.75);
    return 0;
}

double Magic(int m) {
    srand(time(NULL));
    int x = rand() % 10 + 1;
    int y = rand() % 10 + 1;
    if (m == 1)
        return x;
    else if (m == 2)
        return y;
    else return -1;
}

 

 

#include <stdio.h>    
#include <stdlib.h>    
#include <time.h>    
double Magic(int m);
int main()
{
    double answer, answer1;
    int counter = 1;
    int a = 0, b = 0;
    int score, c;
    float rate;
    do {
        counter = 0;

        do {
            c = rand() % 4;
            switch (c) {
            case 0:
                answer = Magic(1) / Magic(2);
                printf("%.1f/%.1f=", Magic(1), Magic(2));
                break;
            case 1:
                answer = Magic(1) + Magic(2);
                printf("%.1f+%.1f=", Magic(1), Magic(2));
                break;
            case 2:
                answer = Magic(1) - Magic(2);
                printf("%.1f-%.1f=", Magic(1), Magic(2));
                break;
            default:
                answer = Magic(1) * Magic(2);
                printf("%.1f*%.1f=", Magic(1), Magic(2));
                break;

            }

            scanf("%lf", &answer1);
            if (answer == answer1)
            {
                c = rand() % 4;
                switch (c)
                {
                case 0:
                    printf("Very good!\n");
                    break;
                case 1:
                    printf("Excellent!\n");
                    break;
                case 2:
                    printf("Nice work!\n");
                    break;
                default:
                    printf("Keep up the good work!\n");
                    break;
                }

                a++;
            }

            else
            {
                c = rand() % 4;
                switch (c)
                {
                case 0:
                    printf("No.Please try again\n");
                    break;
                case 1:
                    printf("Wrong. Try once more.\n");
                    break;
                case 2:
                    printf("Don't give up!\n");
                    break;
                default:
                    printf("Not correct. Keep trying.\n ");
                    break;

                }

                b++;
            }
            counter++;
            rate = (float)a / 10;
        } while (counter != 10);
    
        score = a * 10;


        printf("score=%d\n", score);
        printf("rate=%.1f%%\n", rate * 100);
    } while (rate <= 0.75);
    return 0;
}

double Magic(int m) {
    srand(time(NULL));
    int x = rand() % 10 + 1;
    int y = rand() % 10 + 1;
    if (m == 1)
        return x;
    else if (m == 2)
        return y;
    else return -1;
}

 

 

标签:Magic,int,1f,C语言,break,printf,answer,实验报告,小学生
From: https://www.cnblogs.com/LCGJ/p/17891906.html

相关文章

  • 《初学C语言第18天——扫雷游戏特别篇》
    //(game.h.cpp)#define_CRT_SECURE_NO_WARNINGS1#defineROW9#defineCOL9#defineROWSROW+2#defineCOLSCOL+2#defineLEI10//雷的个数10#include<stdio.h>#include<stdlib.h>#include<time.h>//函数声明voidInitBoard(charboard[ROWS][COLS],......
  • 【C语言】编译和链接
    1、翻译环境和运行环境在ANSIC的任何⼀种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它⽤于实际执行代码。2、翻译环境那翻译环境是怎么将源代码转换为可执⾏的机器指令的呢?这里我们就得展开开讲解⼀下翻译环境所做......
  • PTA|C语言|结构体
    --------------------------------------------------------------------------------计算两个复数之积本题要求实现一个计算复数之积的简单函数。函数接口定义:structcomplexmultiply(structcomplexx,structcomplexy);其中structcomplex是复数结构体,其定义如下:structcompl......
  • 通过C语言的API预处理管理MySQL
    一、C的API预处理语句MySQL客户端/服务器协议提供了预处理语句。该功能采用了由mysql_stmt_init()初始化函数返回的MYSQL_STMT语句处理程序数据结构。对于多次执行的语句,预处理执行是一种有效的方式。首先对语句进行解析,为执行作好准备。接下来,在以后使用初始化函数返回的语句句柄......
  • 12.9 蓝桥杯 huffuman树c语言
    今天学习了蓝桥杯的huffuman树,总结如下:问题描述Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。给出一列数{pi}={p0,p1,…,pn-1},用这列数构造Huffman树的过程如下:1.找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加......
  • 通过C语言连接MySQL数据库
    一、如何连接MySQL首先需要安装MySQLsudoapt-getupdatesudoapt-getinstallmysql-serverC语言的API代码是与MySQL一起提供的,它包含在mysqlclient库中,并允许C程序访问数据库,如果安装MySQL后仍提示缺少库,则需要安装如下:sudoapt-getinstalllibmysqlclient-devsudoa......
  • C语言源码的陷波器设计及调试总结
    一前记音频信号处理中,限波器是一个常用的算法。这个算法难度不是很高,可用起来却坑很多。二源码解析1滤波器的核心函数,这里注意两点,一个是带宽不能太宽了,太宽了杀伤力太大了,容易出问题。另外一个就是滤波器的阶数非常重要,假如想滤波宽度尽量窄一些,那就阶数尽量高一些......
  • 《初学C语言第17天》
    ////浮点数在内存中的存储//常见的浮点数://3.14159//1E10=1.0*10^10//浮点数家族包括:float、double、longdouble类型。//浮点数表示的范围:float.h中定义//浮点数存储的例子//#include<stdio.h>//intmain()//{// intn=9;// float*pFloat=(float*)&n;// printf......
  • [c语言]volatile关键字的作用
    volatile描述volatile是C和C++都支持的一个关键字,是一种类型修饰符。这个关键字被设计用来告诉编译器,一个变量可能会在程序之外被改变,例如,它可能被中断服务程序修改,或者它可能映射到一个硬件寄存器,这个寄存器的值可能由硬件改变。因此,编译器不应对涉及volatile变量的操作进行优化,......
  • 集合异或运算--记录学习C语言每一天
    ////main.c//Hello////Createdbyrenxinon2023/11/28.//#defineElemTypeint#defineMaxSize50#include<stdio.h>#include<stdlib.h>typedefstructList{ElemTypeList[MaxSize];intLength;intSize;}List;voidIn......