6. 請(qǐng)補(bǔ)充該fun函數(shù),該函數(shù)的功能是:交換數(shù)組aa中最大和最小兩個(gè)元素的位置,結(jié)果重新保存在原數(shù)組中,其它元素位置不變。注意數(shù)組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題相似。 算法思想:假定最大、最小值是同一個(gè)元素(第一個(gè));接下來將后面的元素依次開始比較,如果比最大值還大,則修改最大值;如果比最小值還小,則修改最小值。 此題保存的是最大最小值的下標(biāo)。 最后,通過變量t,交換最大最小值。 第4行:循環(huán)變量i的值可以從1開始。 7. 給定程序中,函數(shù)fun的功能是:將形參std所指結(jié)構(gòu)體數(shù)組中年齡最大者的數(shù)據(jù)作為函數(shù)值返回,并在main函數(shù)中輸出。 #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 解析: 求最大值。 搞清結(jié)構(gòu)體變量類型聲明、變量聲明、初始化、賦值、輸入、輸出的方法。 Max=*std 也可以max=std[0] 即結(jié)構(gòu)體變量之間可相互賦值。 但不能整體輸入輸出。僅能一個(gè)數(shù)據(jù)項(xiàng)、一個(gè)數(shù)據(jù)項(xiàng)地單獨(dú)進(jìn)行。 計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言精編教程匯總 2011年計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言常見問題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |