趣味小学生四则运算

  本节课老师第一次布置任务给我们,我也是欣然的接受了,其实一开始看到这个任务我是“拒绝”的,因为它没加特技,后来因为duang~的一下,特技加上去了,我就接受了它~没想到它是那么的有趣,那么的好玩。——娱乐娱乐

  闲话休提,言归正传,本次实验是关于出一份小学生四则运算的程序:包含加减乘除,还有括号等运算。感觉这种题目说难也不难,但是要说十分容易也不见得。首先我一拿到题目是先思考,详细的浏览一遍题目,不要遗漏任何一点,因为我是用C语言来编的,大概先预测一下需要哪些变量,同时变量是些什么类型的,一一列在草稿上,然后再考虑要用到一些什么方法,函数等等。例如,看到题目是需要随机产生一些运算式,这点就有一个随机数的问题,这点就要考虑到要调用函数包:<stdlib.h>里面的rand()方法,和#include<time.h>//用于利用时间生成种子 srand( time(NULL) );//用用于生成种子,这点一开始还没想到,是后面上百度搜索了才想起来的。同时再结合switch语句,产生一系列的“+,-,*,/”后面的知识也就不怎么难了,只要理清每一句的思路即可完成程序。

  本次作业大概用时半个小时左右。也没有精确的去计算,看样子还是存在能力上的欠缺,望日后加强。ok~今天就到此结束吧。谢谢。

 1 #include <stdio.h>
 2 #include<stdlib.h>                  //生成随机数用 
 3 #include<time.h>                    //利用时间生成种子 
 4 #include<math.h> 
 5 #include<string.h>
 6 int main()
 7 {
 8     char fuhao[100],suanshi[100],s[10];
 9     int i,x1,x2,k,n,w,o=0;
10     float q1;
11     srand( time(NULL) );         //生成种子 
12     
13     printf("输入题目数量:");
14     scanf("%d",&n);
15     for(i=0;i<n;i++)
16     {
17         x1=rand()%4+1;
18         do
19         {
20             x2=rand()%4;
21             switch(x2)
22             {
23             case 0:fuhao[o]='+';
24                 break;
25             case 1:fuhao[o]='-';
26                 break;
27             case 2:fuhao[o]='*';
28                 break;
29             case 3:fuhao[o]='/';
30                 break;
31             }
32             o++;
33         }while(o<x1);
34         o=0; 
35         for(k=0;k<x1;k++)
36         {
37             q1=rand()%100;
38             printf("%.1",q1);
39             printf("%c",fuhao[k]);
40             if(k==x1-1)
41             {
42                 q1=rand()%100;
43                 printf("%.1f",q1);
44                 printf("=\n");
45             } 
46         }
47     }
48     return 0;
49 }

 

原文地址:https://www.cnblogs.com/kevinkeke/p/4369694.html