趣味小学生四则运算
本节课老师第一次布置任务给我们,我也是欣然的接受了,其实一开始看到这个任务我是“拒绝”的,因为它没加特技,后来因为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 }