JJmarks 2021-11-24 22:05 采纳率: 66.7%
浏览 710

小学生 100 以内整数加减乘除运算训练。程序随机产 生两个 100 以内的正整数 a 和 b 和一个运算符(+、-、、),小学生计算并输入结果。 要求如下:

1.编写程序 c6-3-1.c,实现的功能是:小学生 100 以内整数加减乘除运算训练。程序随机产
生两个 100 以内的正整数 a 和 b 和一个运算符(+、-、、),小学生计算并输入结果。
要求如下:
① 程序应该显示运算式子,并给出小学生运算是否正确的判断信息;
② 可以进行多轮运算,一轮中包括多道题(例如10道题);每出一题,学生回答运算结果,
程序给出对错判别;每轮运算完成后程序给出答题的总结果,并询问是否进行下一轮的
训练,以决定是否继续;
③ 要保证减法运算时不出现负数,除法运算时被除数能整除除数;
④ 操作界面友好。

  • 写回答

2条回答 默认 最新

  • PYJQ猪 2021-11-24 22:36
    关注
    
    /*c6-3-1.c*/
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a,b,c,d,e,g,h;
        char f[]={'+','-','*','/'};
        srand((unsigned)time(NULL));
        h=1;
        while(h==1)
        {
            int i=1;
            while(i==1)
            {
                a=rand()%100;
                b=rand()%100;
                e=sizeof(f)/sizeof(f[0]);
                srand((unsigned)time(NULL));
                for(d=0;d<1;d++)
                {
                    c=rand()%4;
                }
                if(f[c]=='-'||f[c]=='/')
                {
                    if(a-b<0||a%b!=0)
                        i=1;
                    else
                        i=2;
                }
                else
                    i=2;
            }
            printf("%d\t",a);
            printf("%c\t",f[c]);
            printf("%d\n",b);
            printf("请计算%d%c%d的答案\n",a,f[c],b);
            printf("请输入你的答案:");
            scanf("%d",&g);
            if(f[c]=='+')
            {
                if(g==a+b)
                    printf("答案正确\n");
                else
                    printf("答案错误\n");
            }
            else
                if(f[c]=='-')
                {
                    if(g==a-b)
                        printf("答案正确\n");
                    else
                        printf("答案错误\n");
                }
                else
                    if(f[c]=='*')
                    {
                        if(g==a*b)
                            printf("答案正确\n");
                        else
                            printf("答案错误\n");
                    }
                    else
                        if(f[c]=='/')
                        {
                            if(g==a/b)
                                printf("答案正确\n");
                            else
                                printf("答案错误\n");
                    }
            printf("请问还要继续吗?继续(1)结束(2)");
            scanf("%d",&h);
        }
        return 0;
    

    有点难,而且好像我这个有点问题,就是给出数据的时候有点慢,我也希望大佬解决一下我的问题,但是起码在功能的实现上是没问题的。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月24日

悬赏问题

  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大
  • ¥15 使用spss做psm(倾向性评分匹配)遇到问题
  • ¥20 vue+UEditor附件上传问题
  • ¥15 想做个WPS的自动化代码,不知道能做的起不。
  • ¥15 uniApp,生成安卓安卓包后,黑暗主题中间内容不生效,底部导航正常
  • ¥15 斯坦福自动漂移非线性模型反解
  • ¥15 学习Python如何找兼职
  • ¥15 python结合Matlab仿真忆阻器