一无题目,二无注解。代码又不完整:
那块石头stone[]从哪冒出来的?
估计是穆杨先生讨厌的全局数组。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
能提高.最好abs改成问号表达式
如果有递归的话尽量用循环代替.
硬件现在的价格已经不像以前~ 所以不必过分追求效率
应该如13楼所讲 追求正确性,良好的可读性,然后才是效率
能说说怎样的程序具有"良好的可读性"吗?
或说要注意什么规范化的东西,能使程序更可读.
注释?
应该是"在什么地方下注释"更重要点吧!那一般是在什么地方下注释才必要呢??
能说说怎样的程序具有"良好的可读性"吗?
或说要注意什么规范化的东西,能使程序更可读.
注释?
应该是"在什么地方下注释"更重要点吧!那一般是在什么地方下注释才必要呢??
程序首先要求正确性
其次是可读性
效率问题是比较次要的问题
还有我认为在一般的非多个文件构成的c程序中
使用全局变量与使用goto一样难看
经典啊,字字珠玑。
绕开函数的参数传递机制,
通过全局变量“暗渡陈仓”
酷似西医手术后的造瘘(排泄绕开肛门!)
实在丑陋无比呀。
『数据结构与算法』告诉我们:
高效率的第一要素是算法设计。
楼主不妨公布那道程序设计的题目,
比你高效N倍的程序定会跃然纸上。
往日无冤,近日无仇。俺–★–
为什么要“贬”楼主呢?因为
楼主的两版程序一个都没调通。
证据:
1。如果都调通,效率高低立见分晓,何需问人?
2。新版不通。因为至少存在下列语法错误:
else if(min_sum == abs(sum);) //多了分号
{
if(me_total < 15) me[me_total]=sum_no;
me_total++;
}
3。老版不通。因为至少存在下列运行故障:
void Calculate(int count,int sum)
{ char i;
for(i=0;i<2;i++)
{ sum=sum+Sign(i)*stone[count];
if(count > 0)
Calculate(count-1,sum);
根据C的传值机制,红色累加的结果
无法通过目前的sum形参反馈回来。
4。新版程序的全局变量之多令人咋舌,
这就为调试埋伏下不少隐患。
===========================================
当然楼主下列自以为是的话语(floor 12)
实在不好意思!
一来题目很老了,有人讨厌我再提.
二来没必要看完全部代码.
三来我觉得我已将问题写清楚了,也许你不这样认为,你问一下不行吗!
出自一个求助者也令人厌恶。