-题目:
请编写一个能自动生成小学四则运算题目的 “软件”。
让程序能接受用户输入答案,并判定对错。
最后给出总共 对/错 的数量。
-需求分析:
便于初涉四则运算的学生的加强锻炼,通过大量的四则运算练习达到熟练地效果。
-基本要求:
根据需要选择计算类型(加*、减-、乘*、除/)
自己计算出答案,若果答案错误,系统将予以提示错误,并提示重做若答案正确则提示很好
统计出所答对的题目个数
-具体设计:
算法较为简单,代码中已给出叫为详细的注释
-代码:
#include<stdio.h>
#include<stdlib.h> //包含rand,srand函数
#include<time.h> //用于计时
float again_chu(int m,int n,int j) /*除法重做函数,当结果小于0.001时重新取数*/
{
float i,b;
m=rand()%100;n=rand()%99+1; //取小于100的随机数,n大于0
b=(int)(1000*m/(float)n)/1000.0; //取结果b小数点后三位
if(b>0) //结果大于零时继续,否则重新执行again函数
{
printf("%d/%d=",m,n);scanf("%f",&i);
if(i==b){printf("答案正确,很好!
");j++;
}
else printf("答案错误,重做
");
}
else again_chu(m,n,j);
return 0;
}
int jia(int m,int n) //加法函数
{
int i,j=0,k; //j用于记录正确题数
srand(time(0)); //获得随机数种子,time(0)用于获取当前时间
for(k=0;k<5;k++)
{
m=rand()%100;n=rand()%100;
printf("%d+%d=",m,n);scanf("%d",&i);
if(i==(m+n)){printf("答案正确,很好!
");j++;}
else printf("答案错误,重做
");
}printf("做对了%d个
",j);
return 0;
}
int jian(int m,int n) //减法函数
{
int i,j=0,k;
srand(time(0));
for(k=0;k<5;k++)
{
m=rand()%100;n=rand()%100;
printf("%d-%d=",m,n);scanf("%d",&i);
if(i==(m-n)){printf("答案正确,很好!
");j++;}
else printf("答案错误,重做
");
}printf("做对了%d个
",j);
return 0;
}
int cheng(int m,int n) //乘法函数
{
int i,j=0,k;
srand(time(0));
for(k=0;k<5;k++)
{
m=rand()%100;n=rand()%100;
printf("%d*%d=",m,n);scanf("%d",&i);
if(i==(m*n)){printf("答案正确,很好!
");j++;}
else printf("答案错误,重做
");
}printf("做对了%d个
",j);
return 0;
}
float chu(int m,int n) //除法函数
{
int j=0,k;float i,b;
srand(time(0));
printf("用去尾法取小数点后三位:如1/6=0.166
");
for(k=0;k<5;k++)
{
m=rand()%100;n=rand()%99+1;
b=(int)(1000*m/(float)n)/1000.0;
if(b>0)
{
printf("%d/%d=",m,n);scanf("%f",&i);
if(i==b){printf("答案正确,很好!
");j++;}
else printf("答案错误,重做
");
}
else again_chu(m,n,j);
}printf("做对了%d个
",j);
return 0;
}
int main()
{
int m,n;
char a;
printf("请选择要做的题目类型(+,-,*,/):");
scanf("%c",&a);
if(a=='+')jia(m,n);
else if(a=='-')jian(m,n);
else if(a=='*')cheng(m,n);
else chu(m,n);
return 0;
}
-程序效果图:
-PSP耗时统计:
Personal Software Process Stages | 时间 | 时间百分比 |
需求分析 | 5 | 11.6% |
具体设计 | 5 | 11.6% |
生成文档 | 15 | 34.9% |
测试 | 10 | 23.2% |
总结 | 8 | 18.6% |
-总结:
基本知识掌握不够好,以至于写代码的时候屡次犯错,而且所设计的程序过于简单化,功能也不是很完善,自己都很不满意,十分汗颜。