精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

2011年計算機等級二級C語言填空題練習題及答案解析(4)

發布時間:2011-09-16 共7頁

導讀:本套試題解析透徹,針對性和實用性很強,非常方便考生復習。

  6. 請補充該fun函數,該函數的功能是:交換數組aa中最大和最小兩個元素的位置,結果重新保存在原數組中,其它元素位置不變。注意數組aa中沒有相同元素。

  1) void fun(int aa[])

  2) {int i,j,t;

  3) int max=0,min=0;

  4) for(i=0;i

  5) {

  6) if(___1___)

  7) max=i;

  8) if(___2___)

  9) min=i;

  10) }

  11) t=aa[max];

  12) ___3___;

  13) aa[min]=t;

  14) }

  第一處:aa[max]

  第二處:aa[min]>aa[i]

  第三處:aa[max]=aa[min]

  解析:

  算法思想與第19題相似。

  算法思想:假定最大、最小值是同一個元素(第一個);接下來將后面的元素依次開始比較,如果比最大值還大,則修改最大值;如果比最小值還小,則修改最小值。

  此題保存的是最大最小值的下標。

  最后,通過變量t,交換最大最小值。

  第4行:循環變量i的值可以從1開始。

  7. 給定程序中,函數fun的功能是:將形參std所指結構體數組中年齡最大者的數據作為函數值返回,并在main函數中輸出。

  #include

  typedef struct{

  char Name[4];

  int age ;

  }STD;

  STD fun(STD std[], int n)

  {STD max;

  int i;

  max= ___1___;

  for(i=1; i

  if(max.age<___2___) max=std[i];

  return max;

  }

  main( )

  {STD std[5]={"aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15 };

  STD max;

  max=fun(std,5);

  printf("\nThe result: \n");

  printf("\nName : %s, Age : %d\n", ___3___,max.age);

  }

  第一處:*std

  第二處:std[i].age

  第三處:max.name

  解析:

  求最大值。

  搞清結構體變量類型聲明、變量聲明、初始化、賦值、輸入、輸出的方法。

  Max=*std 也可以max=std[0] 即結構體變量之間可相互賦值。

  但不能整體輸入輸出。僅能一個數據項、一個數據項地單獨進行。

  

百分百考試網 考試寶典

立即免費試用