下面程序的功能是输出数组s中最大元素的下标,请填空。 main() { int k, p,s[]={1, -9, 7, 2, -10, 3}; for(p=0, k=p; ps[k])【 】 printf("%d\n",k);}

admin2010-12-10  27

问题 下面程序的功能是输出数组s中最大元素的下标,请填空。
main()
{ int k, p,s[]={1, -9, 7, 2, -10, 3};
  for(p=0, k=p; p<6; p++)
    if(s[p]>s[k])【  】
  printf("%d\n",k);}

选项

答案k=p;

解析 为寻找数组中最大元素的下标,需先预设1个临时最大元素的下标,并顺序逐一考查数组的元素,当发现当前元素比临时最大元素更大时,就用当前元素的下标更新临时最大元素下标。直至考查了数组的全部元素后,这临时最大元素下标就是数组的最大元素下标。通常预设的最大元素下标是数组的首元素下标,考查通常从首元素开始顺序向后继元素考查。程序中,存储临时最大元素下标的变量是k,变量p控制顺序考查的循环控制变量。当发现当前元素s[p]比临时最大元素s[k]更大时,应该用p更新k,所以在空框处应填入代码"k=p;"。
转载请注明原文地址:https://kaotiyun.com/show/pmPp777K
0

最新回复(0)