摘要:
课上老师出了一个题目,就是每人一个想法,当时我的头脑里就有了一个考虑,完美身材,当然这个考虑的起先也是针对我自己的,由于我个人比较胖,所以一直想要减肥,但是看到也有很多瘦的人一直想让自己再胖一点才比较完美,所以我想到一个是否可以有这样一个软件,无论你是男生还是女生,无论你是想变胖还是变瘦,无论你是学生族还是族,他都可以帮助你实现你的想法,比如在一个主页面会让你选择你的性别,身高,体重,然后软件自动为你提供这个身高性别最完美的身材,然后根据这个比差,来为你从运动和饮食上做调整,让你每天有最佳搭配,例如,你每天需要2000卡路里的能量,然后他会告诉你一些食品的能量值,每个运动多长时间消耗的能量值, 阅读全文
摘要:
在上节课的基础上,老师又把子数组改为了只要两个数之间有横竖连接的就可以算是子数组,所以我有了一个思想:先求出一个数组中所有不包含负数的子数组,即将所有连接在一起的正数看做一个小块,这样在一个数组中可能含有许多这样的正数子数组块,然后看每一个子数组块之间是否有一个最小的负数能使两个子数组块连接起来,使连接后的子数组块的和大于连接之前的子数组块的和,如果有则连接,没有则不连接,最后取和最大的子数组块即为要求的最大子数组。这是一个基本的思想,但是在实现上还没有完成,仅仅先把我们的思想和大家交流,编程问题可以共同探讨。 阅读全文
摘要:
著名的软件工程专家B.W.Boehm曾经这样为软件工程定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 那么软件工程学了这么久,我们一共了解到8种软件开发方法: 一、Parnas方法 最早的软件开发方法是由D.Parnas在1972年提出的。由于当时软件在可维护性和可靠性方面存在着严重问题,因此Parnas提出的方法是针对这两个问题的。首先,Parnas提出了信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。这样,在将来由于这些因素变化而需修改软件时,只需修改这些个别的模块,其它模块不受影响... 阅读全文
摘要:
当老师把上星期的一维数组改为二维数组后,我感觉这仅仅是维数的变化,其中涉及到好多问题,我思考了好久但是也没有想到一个解决的办法,我和小伙伴商量之后,也只想出最笨的方法,就是一一列举,但是很快被老师否认了,老师给了一些建议,比如书求最大的数所在的子数组是最大子数组的可能性大些,但也仅仅就可能,苦相之后,我和小伙伴看了看网上的算法,下面与各位交流一下:#include #include int main(void) { int a[101][101]; int st[101][101]; int p,k,n,i,j,sum,max; scanf("%d",&n);... 阅读全文
摘要:
今天老师又做了一个随堂测试,要求是求一个数组的最大子数组,同时要求算法复杂度为o(n),下面是我们写出的思路和初步的算法和实现截图,实现了老师给的要求,但是算法复杂度为o(n^2),所以请大家互相交流,共同进步。小组成员:蔡迎盈 曹玉松#includeint bijiao(int list[],int n){ int q,t,i,j; int max=list[0]; for(i=0;i>n; cout>a[i]; } cout>b; } } 阅读全文
摘要:
课堂上老师让我们当堂做了一个测试,下面是老师给的代码 int Largest(int list[],int length) { int i,max; for(i=0;imax) { max=list[i]; } } return max;}刚看到这个代码感到不难,审查之后发现了一个问题,就是i的取值范围出现了错误,修改后做了三组测试,分别是(-1,0,1),(0,2,4),(-2,-4,-6),本来以为这个测试这样就算完成了,然后听了老师的讲解之后才发现还远远不够,例如没有给max赋值,这是一个程序员最不该有的错误,同... 阅读全文
摘要:
上次写到用数组来存放每个单词,但是考虑到数组是连续的,应用起来不灵活,所以改换成了用栈来存放,定义一个结构体,存放单词,同时记录单词的个数,当进行一个单词的压栈时,首先进行比较,栈里存在这个单词就让个数加一,否则把单词压栈,把所有的单词压栈后再进行排序,把频率最高的十个单词输出,这里并不是把所有单词进行排序,而是找出频率高的十个单词,提高速率,但是个人觉得这个代码不精简,希望各位多提意见,共同探讨,以下为个人代码和输出。#include #include #include #include typedef struct StackNode{int num;char s[30];struct S 阅读全文
摘要:
题目要求是找出一篇文章频率最高的十个单词,而且也可以是比较大的文件,开始看的题目的要求,只是小小的构思了一下,想到应该用到文件的读写,因为对c++文件的读写不是很熟练,所以选择使用C,本来想的是要用数组来存放单词,比如用一个二维数组存放单词,再对应一个一维数组存放个数,然后对数组进行排序来找出数目最多的十个单词即为所求,这是最开始的思路。由于数组没有写成功,所以只写了一个文件的读写。#include #include int main(){FILE *fp;char ch,infile[20];printf("请输入文件名称:");scanf("%s", 阅读全文