关于软件工程这门学科,我刚刚开始学习老师要求我们要有严格的学习计划,关于四则运算的psp如下:
关于四则运算2.0是编写可以自动生成30道100以内的支持真分数的四则运算的题目,在上一个程序上加了可以支持真分数这个要求。
我的思路是将四则运算分解成随机数+运算符号+随机数+=的形式,首先生成一个随机数,然后在随机生成一个运算符,下一个随机数
随机生成,最后进行运算;至于其中的真分数可以拆开考虑,首先搞清楚真分数的概念,真分数便是分子比分母小的数,先随机取两个
整数,然后比较大小,大的为分母,小的为分子,便得到真分数,然后在进行四则运算。
具体步骤:首先生成随机数利用rand(),然后生成随机数a=rand()%4,完成四则运算2.0
运算代码如下:
#include<stdio.h> #include<stdlib.h> #include <time.h> #define N g main() { int a,b,k,i,n, c,d,e,f,g; do{ printf("\n请输入题目数量: "); scanf("%d",&g); printf("\n请输入数字类型(5.整数 7.真分数) 9为退出程序: "); scanf("%d",&n); switch(n) { case 5: { for(i=0;i<N;i++) { a=rand()%100+1; b=rand()%100+1; k=rand()%4+1; printf("%d",a); switch(k) { case 1:printf("+");break; case 2:printf("-");break; case 3:printf("*");break; case 4:printf("/");break; } printf("%d=\t\t",b); } break; } break; case 7: { for(i=0;i<N;i++) { e=rand()%100+1; f=rand()%100+1; k=rand()%4+1; if ( e>=f) printf("%d/%d",f,e); else printf("%d/%d",e,f); switch(k) { case 1:printf("+");break; case 2:printf("-");break; case 3:printf("*");break; case 4:printf("/");break; } c=rand()%100+1; d=rand()%100+1; if ( c>=d) printf("%d/%d=\t\t",d,c); else printf("%d/%d=\t\t",c,d); } break; } break; } }while(n!=9); }