發表文章

目前顯示的是 6月, 2005的文章

【C】Call by Address - No.47

47.編寫一氣泡排序法程式可將 int a [10] = {45, 23, 18, 10, 6, 8, 67, 98, 30, 50 } 由小到大排列出來,其中必須呼叫一交換資料 swap(int x, int y) 的函數, 其功能為變數 x 和 y 的內容交換。(Call by Address) #include #include void swap(int *,int *); int a[10]={78,14,25,63,47,28,17,52,61,44}; int main(){ int i,j,t; printf("原陣列為:"); for(i=0;i printf("%d ",a[i]); } printf("\n"); printf("排列後為:"); for(i=0;i for(j=i+1;j if(a[i]<a[j]){ swap(&a[i],&a[j]); } } } for(t=0;t<10;t++){ printf("%d ",a[t]); } system("pause"); return 0; } void swap( int *x, int *y){ int temp,t; temp = *x; *x = *y; *y = temp; return 0; }

【C】大型程式 - No.54

這寫了一個禮拜才寫出來的程式,目前還有個小Bug..就是『(5) 可列出不及格(fail)學生姓名(由平均分數)』這部分要嘛就及格跟不及格一起印出,要嘛就只能印出及格...真的盡力了。 /*54.編寫一個學生成績登錄之應用程式,每一學生的資料內容如同第 50 題所示,並可將學生資料內容儲存於檔案內。該程式具有下列處理資料的功能:(利用 case) (1) 顯示所有學生資料內容 (2) 可查詢每一學生的資料 (3) 可增加登錄及修改學生資料 (4) 可計算學生成績 (總分及平均) (5) 可列出不及格(fail)學生姓名(由平均分數) (6) 可由大到小排列(permutation)學生成績 編寫時,可由一個功能測試成功,再寫下一個功能,能寫愈多功能表示功力愈強。*/ /*宣告副程式 ↓*/ void display(); void print(); void look_up(); void add_correct(); void sum_average(); void fail(); void btos(); void single(); /*宣告陣列 ↓*/ struct score{ int no; /*由於要跟輸入的值做比較so把宣告改為整數or 參考課本c-10 char *strcmp(...)的Function*/ char name[10]; int English; int Math; int Program; int sum; int Average; }; struct score s[7]={ {49311113,"郭佳綺",90,98,99}, {49311115,"李秋豔",89,88,100}, {49311130,"方美瑾",78,84,98}, {49311135,"劉軒妤",92,85,86}, {49311143,"佘宛容",89,89,97}, {49311147,"林三富",50,40,60}, {49311154,"林孟淑",87,86,73} ...