深圳最新疫情防控信息亻seo關(guān)鍵詞優(yōu)化軟件
題目:小學(xué)生計(jì)算機(jī)輔助教學(xué)系統(tǒng)
編寫一個(gè)程序,幫助小學(xué)生學(xué)習(xí)乘法。然后判斷學(xué)生輸入的答案對(duì)錯(cuò)與否,按下列任務(wù)要求以循序漸進(jìn)的方式分別編寫對(duì)應(yīng)的程序并調(diào)試。
- 任務(wù)1 程序首先隨機(jī)產(chǎn)生兩個(gè)1—10之間的正整數(shù),在屏幕上打印出問題。例如:6*7=?然后輸入答案,如果輸入答案正確,則顯示“Right!”,然后問下一個(gè)問題;否則顯示“Wrong!Please try again.”,然后提示學(xué)生重做,直到答對(duì)為止。(略)
- 任務(wù)2 在任務(wù)1的基礎(chǔ)之上,當(dāng)學(xué)生回答錯(cuò)誤時(shí),最多給三次重做,三次仍未做對(duì),則顯示“Wrong!You have tried three times!Test over!”,程序結(jié)束。
- 任務(wù)3 在任務(wù)1的基礎(chǔ)上,連續(xù)做10道乘法運(yùn)算題,不給機(jī)會(huì)重做,若學(xué)生回答正確,則顯示“Right!”,否則顯示“Wrong!”。10道題全部做完后,按每題10分統(tǒng)計(jì)并輸出總分,并輸出學(xué)生的回答正確率。
- 任務(wù)4 在任務(wù)2的基礎(chǔ)上,為了提高程序的可讀性,完善人機(jī)對(duì)話界面,從而達(dá)到來吸引學(xué)生的注意力,故要為學(xué)生輸入的每一個(gè)正確或錯(cuò)誤的答案輸出不同的評(píng)價(jià),正確的答案評(píng)價(jià)分為四個(gè)等級(jí):“Very good!”、“Excellent!”、“Nice work!”、“Keep up the good work!”,錯(cuò)誤的答案評(píng)價(jià)分為三個(gè)等級(jí):“No.Please try again.”、“Wrong.Try once more.” ,“Don’t give up!”。
- 任務(wù)3 在任務(wù)1的基礎(chǔ)上,連續(xù)做10道乘法運(yùn)算題,不給機(jī)會(huì)重做,若學(xué)生回答正確,則顯示“Right!”,否則顯示“Wrong!”。10道題全部做完后,按每題10分統(tǒng)計(jì)并輸出總分,并輸出學(xué)生的回答正確率。
- 任務(wù)2 在任務(wù)1的基礎(chǔ)之上,當(dāng)學(xué)生回答錯(cuò)誤時(shí),最多給三次重做,三次仍未做對(duì),則顯示“Wrong!You have tried three times!Test over!”,程序結(jié)束。
// 任務(wù)2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(int argc, char const *argv[]) {int computerProduct, myProduct, num1, num2, redoNumber;srand(time(NULL));for (;;) {redoNumber = 0;// 產(chǎn)生兩個(gè) 1~10 之間的隨機(jī)數(shù)num1 = rand() % 10 + 1;num2 = rand() % 10 + 1;// 電腦計(jì)算結(jié)果computerProduct = num1 * num2;do {printf("%d * %d = ? ", num1, num2);// 我的計(jì)算結(jié)果scanf("%d", &myProduct);if (myProduct == computerProduct) {printf("Right!\n");break;}// 若同一題連續(xù)錯(cuò)誤三次則直接結(jié)束測(cè)試if (redoNumber == 3) {printf("Wrong!You have tried three times!Test over!");break;} else printf("Wrong!Please try again.\n");redoNumber++;} while (myProduct != computerProduct);if (redoNumber == 3) break;}return 0;
}
// 任務(wù)3
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(int argc, char const *argv[]) {int computerProduct, myProduct, num1, num2, winNumber = 0, questionsNumber, i;srand(time(NULL));for (questionsNumber = 1; questionsNumber <= 10; questionsNumber++) {// 產(chǎn)生兩個(gè) 1~10 之間的隨機(jī)數(shù)num1 = rand() % 10 + 1;num2 = rand() % 10 + 1;// 電腦計(jì)算結(jié)果computerProduct = num1 * num2;printf("%d * %d = ? ", num1, num2);scanf("%d", &myProduct);if (myProduct == computerProduct) {printf("Right!\n");winNumber += 10;} else printf("Wrong!\n");}// 統(tǒng)計(jì)分?jǐn)?shù)printf("學(xué)生得分:%d\n", winNumber);// 統(tǒng)計(jì)得分率(questionsNumber++最后累計(jì)到 11) printf("學(xué)生得分率:%d%%", winNumber * 10 / --questionsNumber);return 0;
}
// 任務(wù)4
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(int argc, char const *argv[]) {int computerProduct, myProduct, num1, num2, redoNumber, winNumber = 0;srand(time(NULL));for (;;) {// 只要出現(xiàn)正確則把累計(jì)的錯(cuò)誤次數(shù)清零redoNumber = 0;// 產(chǎn)生兩個(gè) 1~10 之間的隨機(jī)數(shù)num1 = rand() % 10 + 1;num2 = rand() % 10 + 1;// 電腦計(jì)算結(jié)果computerProduct = num1 * num2;do {// 只要出現(xiàn)錯(cuò)誤則把累計(jì)的正確次數(shù)清零if (redoNumber != 0)winNumber = 0;printf("%d * %d = ? ", num1, num2);scanf("%d", &myProduct);if (myProduct == computerProduct) {winNumber++;// 輸出對(duì)應(yīng)正確次數(shù)的語(yǔ)句switch (winNumber) {case (1):printf("Keep up the good work!");break;case (2):printf("Nice work!");break;case (3):printf("Excellent!");break;default:printf("Very good!");break;}printf("\n");break;} else redoNumber++;switch (redoNumber) {case (1):printf("No.Please try again.");break;case (2):printf("Wrong.Try once more.");break;case (3):printf("Don't give up!");break;}if (redoNumber == 3) break;printf("\n");} while (1);if (redoNumber == 3) break;}return 0;
}