第二次作业
结对成员:
软件工程(2)班 1759212 袁佳敏 1759210 钱雪儿
一.实验要求
• 小学老师要每周给同学出300道四则运算练习题。
• 这个程序有很多种实现方式:
• C/C++
• C#/VB.net/Java
• Excel
• Unix Shell
• Emacs/Powershell/Vbscript
• Perl
• Python
• 两个运算符,100 以内的数字,不需要写答案。【估计时间1】
• 现在估计写这个程序需要的时间
• 马上把代码写出来
• 需要写答案,并且保证答案在 0..100 之间 【估计时间2】
• 有条件的请马上把程序和运算结果的截屏发到博客上
二.实验过程
我们组在接到任务之后,先做了分工以及时间上的安排,基于软工专业的课程比较多,我们主要是在双休日一起写作业,双休日基本完成后,又选在星期二的时间复查。估计时间1:1个小时,估计时间2:半个小时。主要分工如下:袁佳敏主要负责代码的编写,钱雪儿主要负责代码的检查修改。
三.实验中遇到的问题
1.一开始写的代码并没有随机出300道计算题,然后我们在网上查找了c语言中相关的算法,用rand()%100产生0~100随机数,定义三个int型整数,两个表示加或者减的对象,另一个表示加或者减用rand()%2,用0,1表示加或者减,最后解决了这个问题。
2.第二个代码需要写答案,但是我们并不能控制答案在0~100之间,在一定商讨后并没有解决这个问题。
四.代码及运行结果
无运算结果
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,i,c;
for(i = 0;i < 300;i++)
{
a = rand()%100;
b = rand()%100;
c = rand()%2;
if(c == 0)//加法
{
printf("%d + %d =\n",a,b);
}
else//减法
{
printf("%d - %d =\n",a,b);
}
if(i%5 == 0)
printf("\n");
}
}
(部分运行结果)
有运算结果
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,i,c;
for(i = 0;i < 300;i++)
{
a = rand()%100;
b = rand()%100;
c = rand()%2;
if(c == 0)//加法
{
printf("%d + %d = %d ",a,b,a+b);
}
else//减法
{
printf("%d - %d = %d ",a,b,a-b);
}
if(i%5 == 0)
printf("\n");
}
}
(部分运行结果)
五.实验心得
在这次实验中,我们遇到了关于c语言的问题也遇到了双方协作上的问题,体会到学习c语言是无止境的,我们不能仅仅是学习课本上的知识,还要不断练习,可以合理利用网络来帮助我们查找一些相关资料,并且在编写的时候,也发现知识是容易遗忘的,相信每一次的练习都会使我们的记忆更加深刻,所以要珍惜我们现在练习的机会。同时因为这是一个双方协作的作业,和一个人独立完成还是有一定的差别的,就比如说有的时候一些小错误是自己无法发现的,然后会导致无法运行,还得再找错误,严重影响敲代码的心情,而结对编程可以及时发现错误,两个人又不会像很多人一样乱,感觉这个方式在这门课学到了。当然,结对编程要考虑对方的时间以及思维等还是有点小困难的,不过未来有很多合作的机会,相信现在暴露一些小问题是可以解决的。