这个作业属于哪个课程 | 计算机18级 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 实现四则运算 |
学号 | 3180701208 |
一、题目要求
写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:
1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24
2)程序要求能处理用户的输入,判断对错,累积分数
3)程序支持可以由用户自行选择加、减、乘、除运算
4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目
二、代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N j
main()
{
int a,b,k,i,n,c,d,e,f,j;
do{
printf("
请输入数量:");
scanf("%d",&j);
printf("
请输入类型(1.真分数 2.整数)");
scanf("%d",&n);
switch(n)
{
case 1:
{
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= ",d,c);
else
printf("%d/%d= ",c,d);
}
break;
}
break;
case 2:
{
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= ",b);
}
break;
}
break;
}
}while(n!=-1);
}
三、个人小结
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 10 | 8 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 10 | 12 |
Development | 开发 | 120 | 160 |
Analysis | 需求分析(包括学习新技术) | 12 | 6 |
Design Spec | 生成设计文档 | 10 | 10 |
Design Review | 设计复审 | 5 | 5 |
Coding Standard | 代码规范 | 3 | 10 |
Design | 具体设计 | 10 | 20 |
Coding | 具体编码 | 36 | 30 |
Code Review | 代码复审 | 10 | 10 |
Test | 测试(自我测试,修改代码,提交修改) | 20 | 20 |
Reporting | 报告 | 10 | 3 |
Test Report | 测试报告 | 5 | 3 |
Size Measurement | 计算工作量 | 5 | 3 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 5 | 4 |