匿名用户
1级
-04-20 回答
#include<stdio.h>
#include<stdlib.h> /*2、编译预处理头文件stdlib.h */
#include<time.h>
/*1、问题描述:
通过程序实现两位数以内的小学生四则运算(加、减、乘、除)。
如果输入的结果正确,则显示“YOU ARE GOOD”否则显示“YOU TRY AGAIN ”。
4、测试数据:
从键盘输入菜单选项以选择相关功能;
从键盘输入每个处理功能所需要的各字符串;
从显示屏上检查所选功能的处理结果
2、功能要求:
1)参加运算的二个数要随机产生。 */
int get_value(){
extern randomize();
extern random();
randomize();
return random(100);
}
/*3)本系统显示这样的菜单: */
int show_menu(){
int select;
printf("小学生速算心算软件功能:\n1. 加法运算 \n2. 减法运算 \n3. 乘法运算 \n4. 除法运算 \n5. 退出 \n");
scanf("%d",&select);
return select;
}
/*1. 加法运算 */
int add(){
int a=get_value(), b=get_value();
printf("%d+%d=", a, b);
return a+b;
}
/*2. 减法运算 */
int minu(){
int a=get_value(), b=get_value();
printf("%d-%d=", a, b);
return a-b;
}
/*3. 乘法运算 */
int mul(){
int a=get_value(), b=get_value();
printf("%d*%d=", a, b);
return a*b;
}
/*4. 除法运算 */
int divi(){
/*2)当选择“除法”运算时要确保整商,即除数应为个位数字,且能由被除数整除。 */
int a=get_value(), b=get_value()%10;
while(0!=a%b){
a=get_value();
b=get_value();
}
printf("%d/%d=", a, b);
return a/b;
}
/*如果输入的结果正确,则显示“YOU ARE GOOD”否则显示“YOU TRY AGAIN ”。*/
void judge(int ans, int r_ans){
if(ans==r_ans)
printf("YOU ARE GOOD\n");
else
printf("YOU TRY AGAIN\n");
}
void main(){
int op;
int answer, right_answer;
while(1){
op=show_menu();
switch(op){
case 1:
right_answer=add();
scanf("%d", &answer);
judge(answer, right_answer);
break;
case 2:
minu();
scanf("%d", &answer);
judge(answer, right_answer);
break;
case 3:
mul();
scanf("%d", &answer);
judge(answer, right_answer);
break;
case 4:
divi();
scanf("%d", &answer);
judge(answer, right_answer);
break;
case 5:
exit(0); /*5. 退出 */
default:
break;
}
}
}