)的题目记得画图,多试几种可能性; 参考代码: //函数的输入是指针*a,所以函数内的操作都用指针形式; int i,j,cnt1=0,cnt2=0,left,right; int water=0; int max; for(i=1;i= *(a+i) && *(a+i+1) >= *(a+i)) { left = *(a+i); right = *(a+i); max=*(a+i); cnt1=i; for(j=i-1;j>=cnt2;j--) { if(left<*(a+j)) { left = *(a+j); cnt1 = j; } } cnt2=i; for(j=i+1;j=left) break; } } if(left>right) max=right; else max=left; for(j=i;j>cnt1;j--) { if(max>*(a+j)) water += max - *(a+j) ; } for(j=i;j*(a+j)) water += max - *(a+j) ; } water += *(a+i)-max; i = cnt2; } } -------------------------------------------------- 码量不大,但是细节很多,我打了一晚上甚至熬夜了…………现在还用C,老土不老土OK"。
"发展促销,将于3月31:62搬到新址休谟路,邓克尔德新电话:+27 11 442 0822新传真:+27 11 442 0821珍妮特 Phillips(jeanettep@nowmedia。"。总统府将密切监测这三家关键的国有企业的转型计划的执行情况,这些国有企业是经济的驱动力,“拉德贝部长说。