软件工程作业03
软件工程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
作业要求 |
https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10458 |
作业目标 |
|
作业正文 |
|
参考文献 |
GitHub地址:
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
Estimate | 估计这个任务需要多少时间 | ||
Development | 开发 | ||
Analysis | 需求分析 (包括学习新技术) | ||
Design Spec | 生成设计文档 | ||
Design Review | 设计复审 | ||
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | ||
Design | 具体设计 | ||
Coding | 具体编码 | ||
Code Review | 代码复审 | ||
Test | 测试(自我测试,修改代码,提交修改) | ||
Reporting | 报告 | ||
Test Repor | 测试报告 | ||
Size Measurement |
计算工作量 |
||
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | ||
合计 |
|
接题思路:看到题目就瞬间想到了——啥都没想到,萎了,数独每行每列,不允许出现同样的数,每行每列之间1到9数值加起来总和相等;
好吧,看到题目我就知道,以我的菜鳖技术是做不出来的,想到这里就突然有了底气了,反正做不出来,就不做算了,但是秉承着良好青年的良好品质,没有百度,直接拿最普通的思路来实现;
首先定义数组,假设数组为a[3][3],根据题目要求,需要实现,a[0][i]+a[0][i+1]+a[0][i+2]=a[j][0]+a[j+1][0]+a[j+2][0];以此类推,既然要实现,那么怎么实现呢?刚开始想的是直接用数组中的值来实现,
然后动了下脑筋,实现这个功能我们需要不断重复数值的加法运算来判断是否正确,并且还要求,行列相等,怎么来设置这个判断条件呢?for ,while ,do while?想了想我觉得设置死循环,比较好,直接while(1),这样子的话,我就可以直接过了循环条件,思考判断条件就好,只要判断合格,我们就跳出循环,进行输出,判断条件怎么设置呢?进行加法实现,来让行列相等,这样一想我们就又碰到了难题,怎么去实现这个加法运算?直接一个一个加?从0开始?在加一个总和相等的判断条件?怎么来实现呢?我会的不多,这个又比较绕,怎么来让这个简单?迭代实现?好吧,会迭代的都是神,我是凡人,凡人会什么?对哦,刚好最近把指针学完了用指针实现啊,指针指向数组的都是第一个元素,我们只需要设置两个指针元素,分别指向行列的第一个元素,然后设置,指针++;通过挑件循环就好了,这个怎么来实现呢,首先我们需要一个指针循环,每行每列只有三个元素/指针只需要在0 3之间即可,那么加法实现呢,数值有1到9,且不能重复,那么除去数值从1++到9之外还要来判断是否重复,假设不重复,那么我们就需要来设置一个判断条件来进行输出,然后等等。。。。。这是我的大概思路,打开编译器之后 EMMMM..........算了,点开百度,谷歌,搜索,好吧,网上不愧都是大牛,都直接是9*9的,这个可真难为我了,不过好像就算是9*9的我这个思路好像也没毛病啊,设置一个9*9的数组,指针不动,条件改一下好像没毛病,好吧其实我觉得是不太行的;
代码如下
好吧其实我编不出代码。。。。。。。