作业帮 > 综合 > 作业

C语言程序设计 化学家研究原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,绝对值不超过100.可

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 16:54:18
C语言程序设计
化学家研究原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,绝对值不超过100.可以认为原子排列成为一行,一行中任意多个连续的原子可以形成原子团,原子团的能量是其中各原子能量的代数和.问题是怎样编写程序,求出具有最大能量的原子团和能量数值.要求程序输入一列原子的能量数值,以-1结束,输出找到的能量最大的原子团及能量数值.例如输入8,0,6,4,-2,-1,应输出原子团8,0,6,4,及能量数值18.(本题为2010年ACM大赛题目)(可查阅:吕国英,任瑞征等编著,算法设计与分析,清华大学出版社,2009年1月,第265-270页).
提示:这是最大子段和问题.
你自己先写写啊,不难的
两层循环就可以搞定的
提问了好几次,加点分不就有人了?
再问: 能帮忙吗 谢谢
再答: //测试了半天,不知道还有没有bug struct MM { int x;//定义起点 int y;//长度 int tempM; }M; int _tmain(int argc, _TCHAR* argv[]) { int n=0,a[20]; int i,j,k,temp=0; int flag=1,q=0; struct MM m[200]; do {scanf("%d",&a[n]); if(a[n]==-1)flag=0; n++; } while(flag); n=n-2; for(i=n;i>=1;i--) { {for(k=0;k