下面程序的功能是输出数组s中最大元素的下标,请填空。 #include <stdio.h> main() { int k, p,s[]={1, -9,7,2, -10,3}; for(p =0,k =p; p<6; p++

admin2009-01-15  23

问题 下面程序的功能是输出数组s中最大元素的下标,请填空。
   #include  <stdio.h>
   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;

解析 要找数组中最大元素的下标,首先预设数组首元素下标为临时最大元素的下标,从首元素开始顺序向后继元素逐一比较,当发现当前元素比临时最大元素更大时,就用当前元素的下标更新临时最大元素下标,直至比较了数组的全部元素后,临时最大元素下标就是数组中最大元素的下标。程序中,变量k用于存储临时最大元素下标,变量p控制顺序比较的循环变量。当发现当前元素s[p]比临时最大元素s[k]更大时,用p更新k。所以在下划线处应填入代码“k =p;”。
转载请注明原文地址:https://kaotiyun.com/show/r4Hp777K
0

相关试题推荐
最新回复(0)