https://github.com/noapanda/031702603ios
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
Estimate | 估计这个任务须要多少时间 | 900 | 1440 |
Development | 开发 | 180 | 200 |
Analysis | 需求分析 (包括学习新技术) | 100 | 200 |
Design Spec | 生成设计文档 | 30 | 60 |
Design Review | 设计复审 | 30 | 30 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 30 | 60 |
Design | 具体设计 | 120 | 180 |
Coding | 具体编码 | 60 | 90 |
Code Review | 代码复审 | 30 | 30 |
Test | 测试(自我测试,修改代码,提交修改) | 100 | 300 |
Reporting | 报告 | 60 | 80 |
Test Repor | 测试报告 | 60 | 100 |
Size Measurement | 计算工做量 | 20 | 60 |
Postmortem & Process Improvement Plan | 过后总结, 并提出过程改进计划 | 30 | 50 |
合计 | 870 | 1460 |
#define _CRT_SECURE_NO_DEPRECATE #include <fstream> #include<iostream> #include<stdio.h> using namespace std; int main(int argc, char *argv[]) { int m, n; FILE* fp1; FILE* fp2; m = atoi(argv[2]);//命令行输入的第三个参数:宫格阶级 n = atoi(argv[4]);//命令行输入的第五个参数:待解答盘面数目 //cin >> m >> n; //以文本只读方式打开intput.txt fp1 = fopen("input.txt", "r"); if (fp1 == NULL) //打开文件失败 return -1; //打开output.txt,并当即关闭,目的:清空文本内容 fp2 = fopen("output.txt", "w"); if (fp2 == NULL) //打开文件失败 return -1; fclose(fp2);//关闭文件 int i, j, k, num, w, p, q; int sudoku[10][10]; int sign[4] = { 0 };//存放行列中已经出现的数,例如:某行或列出现3,则sign[3]=1 fp2 = fopen("output.txt", "a"); for (num = 0; num < n; num++) { //输入表盘的二维数组 for (i = 0;i < m; i++) { for (j = 0;j < m;j++) { fscanf(fp1, "%d", &sudoku[i][j]); //cin >> sudoku[i][j]; } } while (1) { w = 0; //判断表盘中是否还有空格 for (i = 0;i < m;i++) { for (j = 0;j < m;j++) { if (sudoku[i][j] == 0) { w++; } } } if (w == 0)//表示表盘已经填完 { break; } for (i = 0;i < m;i++) { for (j = 0;j < m;j++) { if (sudoku[i][j] != 0) continue; //若该空格为填入,则进行行列遍历,找到已出现的数 if (sudoku[i][j] == 0) { //行遍历 for (q = 0;q < 3;q++) { if (sudoku[i][q] != 0) { sign[sudoku[i][q]] = 1; } } //列遍历 for (q = 0;q < 3;q++) { if (sudoku[q][j] != 0) { sign[sudoku[q][j]] = 1; } } p = 0;//p用于记录该空格的候选数数量 for (q = 1;q < 4;q++) { if (sign[q] == 0)//表示该空格所在行列中均没有q { p++; k = q; } } } if (p == 1) { sudoku[i][j] = k; //cout<<k<<endl; } //初始化sign[] for (q = 0;q < 4;q++) { sign[q] = 0; } } } } //输出完整表盘 for (i = 0;i < 3;i++) { for (j = 0;j < 3;j++) { fprintf(fp2, "%d ", sudoku[i][j]); //cout << sudoku[i][j] << " "; if (j == 2) fprintf(fp2, "\n"); //cout << endl; } } fprintf(fp2, "\n"); } return 0; }
fp2 = fopen("output.txt", "a");