国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言項目小學生數學考試系統參考

2020-01-26 13:32:06
字體:
來源:轉載
供稿:網友

【項目3-小學生數學考試系統】

1.做一個小學生考試系統,功能包括:

(1)利用隨機數出10道加法題;

(2)小學生用戶答題給出每道題的答案;

(3)對小學生的答題進行評判;

(4)計算出小學生答題正確率。

2. 進一步改進,提高題目質量。

要求(1)百以內算術:運算數、結果都在100以內!

(2)先隨機產生運算符后,針對各個運算產生運算數保證下列要求:對加法,兩數之和保證不大于100;對減法,被減數大于減數,且被減數不大于100;對乘法:兩數之積不超過100;對除法:被除數大于除數,且被除數不大于100,除數不許為0。

3. 建立一個文件,里面包含人工出好的題目。程序從文件中讀取題目。

參考解答:

1.做一個小學生考試系統,功能包括:

(1)利用隨機數出10道加法題;

(2)小學生用戶答題給出每道題的答案;

(3)對小學生的答題進行評判;

(4)計算出小學生答題正確率。

#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){  int sum=0;/*學生答對題目*/  int a,b,d,t; /*分別表示兩個運算數,正確答案及學生輸入的答案*/  int i;  srand(time(0)); /*初始化隨機種子*/  for(i=0; i<10; i++)  {    printf("第 %d 題: ", i+1);    a=rand()%10+1;    b=rand()%10+1;    d=a+b; /*得到正確答案*/    printf("%d+%d=", a, b);    scanf("%d", &t);    if(t==d) /*用戶輸入的答案與正確答案對比*/    {      printf("  right! /n");      sum++;    }    else      printf("  wrong! /n");  }  printf("共答對了%d道題,得分率%.2f/n", sum, 1.0*sum/10*100);  return 0;}

進一步改進,提高題目質量。

要求(1)百以內算術:運算數、結果都在100以內!

(2)先隨機產生運算符后,針對各個運算產生運算數保證下列要求:對加法,兩數之和保證不大于100;對減法,被減數大于減數,且被減數不大于100;對乘法:兩數之積不超過100;對除法:被除數大于除數,且被除數不大于100,除數不許為0。

#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){  int sum=0;//學生得分  int a,b,d,t; //分別表示兩個運算數,正確答案及學生輸入的答案  int c; //運算:0-加 1-減 2-乘 3-除  int i;  srand(time(0)); //初始化隨機種子  for(i=0; i<10; i++)  {    printf("第 %d 題: ", i+1);    c=rand()%4;    do    {      a=rand()%100+1;      b=rand()%100+1;      if(a<b&&(c==1||c==3)) //給小學生的題,減和除運算保證大減小和大除以小      {        d=a;        a=b;        b=d;      }      if(c==3)//對于除法,調整被除數,以保證能整除        a=(a/b)*b;    }while((a+b)>=100||a*b>=100);    //以上滿足了題意的要求,但可以看到出題質量還可以優化    switch(c)    {    case 0://加法      d=a+b;      printf("%d+%d=", a, b);      break;    case 1: //減法      d=a-b;      printf("%d―%d=", a, b);      break;    case 2: //乘法      d=a*b;      printf("%d×%d=", a, b);      break;    case 3: //除法      d=a/b;      printf("%d÷%d=", a, b);      break;    }    scanf("%d", &t);    if(t==d)    {      printf("  right! /n");      sum++;    }    else      printf("  wrong! /n");  }  printf("共答對了%d道題,得分率%.2f/n", sum, 1.0*sum/10*100);  return 0;}

3.建立一個文件,里面包含人工出好的題目。程序從文件中讀取題目。

#include <stdio.h>#include <stdlib.h>int main(){  int sum=0;//學生得分  int a,b,d,t; //分別表示兩個運算數,正確答案及學生輸入的答案  char c; //運算:0-加 1-減 2-乘 3-除  int i;  FILE *fp;  fp=fopen("excise.txt","r");  if(fp==NULL)  {    printf("cannot open file!/n");    exit(1);  }  for(i=0; i<10; i++)  {    fscanf(fp, "%d%c%d", &a, &c, &b);    printf("第 %d 題: ", i+1);    switch(c)    {    case '+'://加法      d=a+b;      printf("%d+%d=", a, b);      break;    case '-': //減法      d=a-b;      printf("%d―%d=", a, b);      break;    case '*': //乘法      d=a*b;      printf("%d×%d=", a, b);      break;    case '/': //除法      d=a/b;      printf("%d÷%d=", a, b);      break;    }    scanf("%d", &t);    if(t==d)    {      printf("  right! /n");      sum++;    }    else      printf("  wrong! /n");  }  printf("共答對了%d道題,得分率%.2f/n", sum, 1.0*sum/10*100);  fclose(fp);  return 0;}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 巴南区| 南和县| 津市市| 嘉祥县| 文昌市| 青阳县| 汝南县| 卢湾区| 综艺| 扶沟县| 和硕县| 龙海市| 华蓥市| 施秉县| 江安县| 关岭| 同江市| 白朗县| 赤壁市| 光泽县| 岗巴县| 河津市| 雅安市| 岳普湖县| 绿春县| 吴桥县| 禹州市| 小金县| 容城县| 子洲县| 广宗县| 河北省| 杭锦旗| 宜兴市| 昌平区| 南岸区| 常宁市| 阜城县| 左云县| 马边| 积石山|