Java随笔

一、实验要求

二柱子将做好的项目交给了老师,几天后又得到新的需求:

1、实现在线答题

2、答题结束后,可以判断对错

3、并将错题的结果保存起来

二、设计思路

让程序执行五个随机生成的加减乘除算式,把自己的计算结果与标准答案比较,错误则输出错误处及错题数,并可在错题本查阅错题

三、源程序代码

复制代码
#include <stdio.h>
#include <stdlib.h> 
#include <time.h>

int main()
{
    FILE *fp;
    int answer[5];
    int myanswer[5];
    int x, y, num, z, num1, num2, scc;
    srand(time(0));
    char sc[] = {'+', '-', '*', '/'};
    char cnt = 0;
    char c;
    int str[5][2];
    printf("欢迎使用二柱子答题系统:\n\n");
    
    for(x=0; x<5; x++)
    {
        z = 1;
        for(y=0; y<z; y++)
        {
            num1 = rand() % 10 + 1;
        }
        num2 = rand() % 10 + 1;
        scc = rand() % 4;
        if(scc == 3 && num1 % num2 != 0)
        {
            x--;
            continue;
        }
        str[x][0] = num1;
        str[x][1] = (int)sc[scc];
        str[x][2] = num2;
        if(scc == 0) answer[cnt++] = num1 + num2;
        if(scc == 1) answer[cnt++] = num1 - num2;
        if(scc == 2) answer[cnt++] = num1 * num2;
        if(scc == 3) answer[cnt++] = num1 / num2;
        printf("%d %c %d =\n", num1, sc[scc], num2);
    }

    
    
    printf("\n\n请输入你的答案:");
    cnt = 0;
    fp = fopen("错题本", "a");
    scanf("%d%d%d%d%d", &myanswer[0], &myanswer[1], &myanswer[2], &myanswer[3], &myanswer[4]);
    for(x=0; x<5; x++)
    {
        if(answer[x] != myanswer[x])
        {
            cnt++;
            fprintf(fp, "%d %c %d = %d\n", str[x][0], (char)str[x][1], str[x][2], myanswer[x]);
            printf("%d %c %d = %d\n", str[x][0], (char)str[x][1], str[x][2], myanswer[x]);
        }
    }
    fclose(fp);
    if(cnt > 0) printf("做错了%d道题,请查阅错题本及时复习", cnt); 
    system("pause");
    return 0;
    

} 
复制代码

四、运行结果截图

原文地址:https://www.cnblogs.com/wrx166/p/14169750.html