以下是引用Sally_SJL在2006-7-16 17:08:41的发言:
我觉得这题好象有错的,高手过来看看吧
我的理解:如果输入 n=3,c[0]=0,c[1]=1
当i=1时,swap(1,c); 在swap函数中 n=1,b=a[n--]=a[1]=1,b=b+3*a[0]=1, 所以执行else语句,a[1]=1
当i=2时,swap(2,c); 在swap函数中 n=2,b=a[n--]=a[2]=?
因为a[2]并没有赋值,所以有可能a[2]就是随机值,
不知道我的理解正确伐?
我觉得这题好象有错的,高手过来看看吧
我的理解:如果输入 n=3,c[0]=0,c[1]=1
当i=1时,swap(1,c); 在swap函数中 n=1,b=a[n--]=a[1]=1,b=b+3*a[0]=1, 所以执行else语句,a[1]=1
当i=2时,swap(2,c); 在swap函数中 n=2,b=a[n--]=a[2]=?
因为a[2]并没有赋值,所以有可能a[2]就是随机值,
不知道我的理解正确伐?
你的看法的确是正确的,但不是所有的输入都会有令一个元素为随机值,比如,3,100,200
----------------解决方案--------------------------------------------------------
以下是引用工藤♀新一在2006-7-19 8:05:16的发言:
你的看法的确是正确的,但不是所有的输入都会有令一个元素为随机值,比如,3,100,200
好象是的哦,没想全,谢谢你提醒我啦~~~
----------------解决方案--------------------------------------------------------