引用 | 編輯
和煦微風
2005-12-23 00:51 |
樓主
▼ |
||
x0
題目:設計一電腦閱卷的程式。說明: 1. 首先,先輸入標準答案。 2. 再輸入學生的答案資料(含學生姓名與答案),並與標準答案比對,計算成績 3. 輸出學生的姓名與成績 注意事項: 1. 必須使用function技巧。 2. 考卷以100為滿分,題目數量、配分與學生人數自訂。(例:共10題, .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
和煦微風
2005-12-23 02:28 |
1樓
▲ ▼ |
剛剛好不容易才寫出來....
我把原始碼貼上來給大家參考看看吧~ 如果有人有更短更有效率的程式.... 也歡迎提供給我做為以後寫作業的參考唷~ 簡單來說就是歡迎大家指教啦~ 複製程式 #include <stdio.h> #include <stdlib.h> int i=0,j,k;/*宣告變數i,j,k為整數型態*/ char a[5],b[5];/*宣告陣列a,b為字元型態*/ int grade(char a[5])/*宣告函式grade*/ { j=0;/*設定j的初始值=0*/ re:/*goto標記*/ printf("請輸入答案:"); scanf("%s",b);/*取得學生答案*/ strupr(b);/*讓字母變大寫*/ k=strlen(b);/*測出b的字串長度*/ if((k>5)||(k<5)) { printf("輸入錯誤~!!!\n"); goto re; } else { i=0; while(i<5) { if(a[ i ]==b[ i ]) { j=j+20; } i++; } } return j; } int main(void) { j=0; int ga,gb;/*宣告變數ga,gb為整數型態*/ char ans,na[10],nb[10];/*宣告ans,陣列na,nb為字元型態*/ printf("==================================\n"); printf(" 歡迎來到電腦成績查詢系統\n"); printf("最多5題,每題20分,每次輸入2位學生\n"); printf("==================================\n"); printf("請輸入標準答案:"); scanf("%s",&a);/*取得標準答案*/ strupr(a);/*讓標準答案的字母變成大寫*/ printf("==================================\n"); printf("標準答案:"); printf("%s",a); printf("\n==================================\n"); rerun:/*goto標記*/ printf("請輸入第一位學生的名字:"); scanf("%s",&na);/*取得第一位學生的名字*/ ga=grade(a);/*計算第一位學生的成績*/ printf("請輸入第二位學生的名字:"); scanf("%s",&nb);/*取得第二位學生的名字*/ gb=grade(a);/*計算第二位學生a的成績*/ printf("==================================\n"); printf(" 成績結果\n"); printf("==================================\n"); printf("%s\n",na); printf("成績:%d\n",ga); printf("%s\n",nb); printf("成績:%d\n",gb); re2:/*goto標記*/ printf("請問是否繼續?(y/n)"); scanf(" %c",&ans); if((ans=='y')||(ans=='Y')) { goto rerun; } else if((ans=='n')||(ans=='N')) { printf("感謝您的使用~ByeBye~~!!!\n"); } else { printf("\n輸入錯誤~!!!\n"); goto re2; } system("PAUSE"); return 0; } x2 |