标签:
题目: 请编写一个能自动生成小学四则运算题目的 “软件”。 让程序能接受用户输入答案,并判定对错。 最后给出总共 对/错 的数量。
- 需求分析
针对小学生练习的需要,设计一个自测系统,要求该系统能随机产生两个数和运算符,当输入答案是,能自动判断对错,并给出提示,退出系统时,统计对、错的题数。
- 设计
用C语言实现小学生自测系统的加、减、乘、除四则运算
- 代码实现
1 #include <stdio.h> 2 #include <time.h> 3 #include <stdlib.h> 4 void main(){ 5 int a,b,c,d; 6 int right=0,wrong=0; 7 while(1){ 8 srand(time(NULL)); 9 d=a=rand()%100; 10 b=(rand()%a+a)%100; 11 if(a%4==1&&a<b) 12 c=a,a=b,b=c; 13 if(b==0&&a%4==3)b=rand()%10+1; 14 if(a%4==3&&a%b!=0) 15 { 16 srand(time(0)); 17 a=b*(rand()%a); 18 } 19 switch(d%4) 20 { 21 case 0:printf("%d + %d = ",a,b); 22 break; 23 case 1:printf("%d - %d = ",a,b); 24 break; 25 case 2:printf("%d × %d = ",a,b); 26 break; 27 case 3:printf("%d ÷ %d = ",a,b); 28 break; 29 } 30 scanf("%d",&c); 31 switch(d%4) 32 { 33 case 0: 34 if(c==a+b) 35 { 36 printf("回答正确\n"); 37 right++; 38 } 39 else 40 { 41 printf("回答错误\n"); 42 wrong++; 43 } 44 break; 45 case 1: 46 if(c==a-b) 47 { 48 printf("回答正确\n"); 49 right++; 50 } 51 else 52 { 53 printf("回答错误\n"); 54 wrong++; 55 } 56 break; 57 case 2: 58 if(c==a*b) 59 { 60 printf("回答正确\n"); 61 right++; 62 } 63 else 64 { 65 printf("回答错误\n"); 66 wrong++; 67 } 68 break; 69 case 3: 70 if(c==a/b) 71 { 72 printf("回答正确\n"); 73 right++; 74 } 75 else 76 { 77 printf("回答错误\n"); 78 wrong++; 79 } 80 break; 81 } 82 printf("按任意键继续,0退出!\n"); 83 fflush(stdin); 84 if(getchar()==‘0‘) 85 break; 86 } 87 printf("你答对了%d道题,答错%d道题\n",right,wrong); 88 }
- 测试
步 骤 |
耗 时 | 百分比(%) |
需求分析 |
5 |
26.3 |
设计 | 4 | 21 |
代码实现 | 8 | 42.1 |
测试 | 1 | 5.3 |
分析和总结 | 1 | 5.3 |
事后分析和总结
我觉得编写程序是很大的问题,主要是对编程语言不熟悉,也不知道该如何去编写。
标签:
原文地址:http://www.cnblogs.com/lizhuanyan/p/4415426.html