2013年4月20日 星期六
樂透類型
101年公務人員普通考試試題 代號:44220
類 科: 資訊處理
科 目: 程式設計概要
考試時間: 1小時30分
一、使用 C 語言,寫一個叫做 count()的函式,此函式有 2 個參數,一個是整數陣列
score,另一個是代表陣列大小的整數 size。假設 score 陣列的所有元素都有整數值,
此函式將計算陣列內有多少個不同的數值,並將其傳回。(25分)
下列解答是錯的,請找出錯誤的原因。
int score[]={12,12,3,3,5,6,7};
main(){
clrscr();
printf("%d",count(score,7));
getch();
}
int count(int ary[],int size){
int i,j,counter=size;
for(i=0;i<size;i++){
j=0;
while(ary[++j]==ary[i])
counter--;
}
return counter;
}
正解
int score[]={12,8,3,3,7,6,7,5,7,8};
main(){
clrscr();
printf("\n%d",count(score,10));
getch();
}
int count(int ary[],int size){
int i,j,counter=0;
for(i=0;i<size;i++){
for(j=0;ary[j]!=ary[i];j++)
;
if (j==i)
counter++;
}
return counter;
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言