本节课老师第一次布置任务给我们,我也是欣然的接受了,其实一开始看到这个任务我是“拒绝”的,因为它没加特技,后来因为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 }
原文:http://www.cnblogs.com/kevinkeke/p/4369694.html