#46 小小型应用系统开发(一)______100以内的四则运算

本文介绍了如何使用C语言开发一个小型应用系统,该系统生成100以内的随机加、减、乘、除运算,并确保结果符合特定条件。程序总共输出10个运算式,每个运算式完成后会要求用户输入答案,进行对错判断并统计答对的题数。文章包含程序分析、代码实现及运行结果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写程序,用随机数实现100以内的加、减、乘、除运算,其中和与积不能超过100,差不为负(即须大减小),商不为小数或分数(即必须整除)。要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分数。

分析

主程序包括以下几个部分:

  1. 变量定义(操作数a,b,结果d,运算符c,答对题数统计sum等)
  2. 开始循环输出运算式
  3. 产生随机数(先初始化)
  4. 判断随机数是否满足条件
  5. 输出运算式
  6. 等待输入
  7. 结果判断
  8. 结束循环输出运算式
  9. 输出统计数据
代码
/**
*Copyright @2018,优快云学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2018年9月27日
*版 本 号:v1.0
*问题描述:100以内的四则运算(两个数)
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int a,b,d,t;    //定义两个操作数a,b,结果d,输入结果t
    char c;         //运算符c可取“+、-、×、÷”
    int i,sum=0;    //题目数量i,答对数目sum
    srand(time(0)); //初始化随机数发生器
    /**< 产生数据 */
    for(i=0;i<10;i++)
    {
        a=rand()%100+1;
        b=rand()%100+1;
        c=rand()%4;     //0表加,1表减,2表乘,3表除

        /**< 数据合格判断及算式显示 */
        printf("第%d题:",i+1);
        switch(c)
        {
        case 0:
            while((d=a+b)>100)    //保证和在100内
            {
                a=rand()%100+1;
                b=rand()%100+1;
            }
            printf("%d + %d = ",a,b);
            break;
        case 1:
            while(a>100||b>100) //被减数小于100
            {
                a=rand()%100+1;
                b=rand()%100+1;
            }
            if(a<b)             //被减数大于减数
            {
                d=a;
                a=b;
                b=d;
            }
            d=a-b;
            printf("%d - %d = ",a,b);
            break;
        case 2:
            while((d=a*b)>100)    //保证积小于100
            {
                a=rand()%100+1;
                b=rand()%100+1;
            }
            printf("%d × %d = ",a,b);
            break;
        case 3:
            while(a>100||b>100||(a*b==0))   //保证被除数小于100且除数不为0
            {
                a=rand()%100+1;
                b=rand()%100+1;
            }
            if(a<b)           //被除数必须大于除数
            {
                d=a;
                a=b;
                b=d;
            }
            a=(a/b)*b;      //保证整除
            d=a/b;
            printf("%d ÷ %d = ",a,b);
            break;
        }
        /**< 输入你的计算结果 */
        scanf("%d",&t);
        if(d==t)
        {
            sum++;
            printf("正确\n");
        }
        else
            printf("错误\n");

    }
    /**< 输出答对题数和得分 */
    printf("答对 %d 题,得分:%d\n",sum,sum*10);
    return 0;
}

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值