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

学习 时间:2026-04-03 11:33:57 阅读:1332
C语言程序设计 化学家研究原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,绝对值不超过100.可以认为原子排列成为一行,一行中任意多个连续的原子可以形成原子团,原子团的能量是其中各原子能量的代数和.问题是怎样编写程序,求出具有最大能量的原子团和能量数值.要求程序输入一列原子的能量数值,以-1结束,输出找到的能量最大的原子团及能量数值.例如输入8,0,6,4,-2,-1,应输出原子团8,0,6,4,及能量数值18.(本题为2010年ACM大赛题目)(可查阅:吕国英,任瑞征等编著,算法设计与分析,清华大学出版社,2009年1月,第265-270页).提示:这是最大子段和问题.

最佳回答

激昂的早晨

害怕的哑铃

2026-04-03 11:33:57

你自己先写写啊,不难的两层循环就可以搞定的提问了好几次,加点分不就有人了? 再问: 能帮忙吗 谢谢 再答: //测试了半天,不知道还有没有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

最新回答共有2条回答

  • 快乐的金针菇
    回复
    2026-04-03 11:33:57

    你自己先写写啊,不难的两层循环就可以搞定的提问了好几次,加点分不就有人了? 再问: 能帮忙吗 谢谢 再答: //测试了半天,不知道还有没有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

上一篇 AB平行于CD,BN平分角ABM,DN平分角CDM,求角N和角M的数量关系

下一篇 多功能雕绣笔作用是什么