小学生算数系统

问题及代码:

/*
Copyright  (c)  2014,烟台大学计算机与控制工程学院
All rights reserved.
文件名称:test.cpp
作    者:张学伟
完成日期:2016年1月4日

版 本 号:v1.0


题目描述:

学生考试系统,做一个小功能如下。

(1) 利用随机函数出十道加法题;

(2) 小学生用户答题,给出每道题的答案;

(3) 对小学生的答题进行判断;

(4) 计算小学生的答题正确率。

运行过程:

 #include <stdio.h> 

 #include <stdlib.h>
 #include <time.h>
 int main()
 {
     int sum=0;
     int a,b,d,t;//系统随机值,系统计算值,及小学生所得值;
     int c;//加减乘除变量;
     int i;//所取得的题目;
     double m;//得分率;
     char name;
     int class,num;
     printf("请输入你的姓名:");
     scanf("%s",&name);
     printf("请输入你的班级:");
     scanf("%d",&class);
     printf("请输入你的学号:");
     scanf("%d",&num);
     srand(time(0));//随机数函数;
     for(i=0; i<10; i++)
     {
         printf("第 %d 题: ", i+1);
         c=rand()%4;
         do
         {
             a=rand()%100+1;//保证取得的数位两位数;
             b=rand()%100+1;
             if(a<b&&(c==1||c==3))//当为减法运算或者为除法运算时保证前一个数位大值;
             {
                 d=a;
                 a=b;
                 b=d;
             }
             if(c==3)
                 a=(a/b)*b;//保证除数不为零;
         }
         while((a+b)>=100||a*b>=100);
         switch(c)
         {
         case 0://加法;
             d=a+b;
             printf("%d+%d=", a, b);
             break;
         case 1://减法;
             d=a-b;
             printf("%d—%d=", a, b);
             break;
         case 2://乘法;
             d=a*b;
             printf("%d×%d=", a, b);
             break;
         case 3://除法;
             d=a/b;
             printf("%d÷%d=", a, b);
             break;
         }


        scanf("%d", &t);
         if(t==d)//判断答案是否正确;
         {
             printf("    right! \n");
             sum++;
         }
         else
             printf("    wrong! \n");
     }
     m=1.0*sum/10*100;//计算得分率;
     printf("共答对了%d道题,得分率%.0lf%%\n", sum,m);
     if(m>=90)
        printf("You are the best!\n");
     else if(m<90&&m>=60)
     printf("Keep on going!\n");
      else
      printf("Don't give up!");
     return 0;
 }

运行结果:


知识点总结:随机函数的应用。

学习心得:注意取得的数要为两位数。




  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值