整数乘除法练习题

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h> 
#include<stdlib.h>
#include<time.h>
#include<Windows.h>

void show1();		.//开始界面
int getchoice();	//选择界面
int dowork(int n);		//随机做乘除法
int num();				//用户确定做题的数量
void print(int s,int n);		//打印得分以及评价


void show1()                                    //开始界面 
{ 
	printf("****************************************\n");
	printf("|                                      |\n");
	printf("|       欢迎使用整数乘除法练习器       |\n");
	printf("|                                      |\n");
	printf("|             1. 开始                  |\n");
	printf("|             2. 退出                  |\n");
	printf("|                                      |\n");
	printf("|       请选择:                       |\n");
	printf("|                                      |\n");
	printf("****************************************\n");
}

int getchoice()
{
	int a;
	scanf("%d",&a);
	return a;
}

int num()                                    //题量获取 
{
	int n; 
	printf("请输入要做的题目数:\n");
	scanf("%d",&n);
	return n;
} 

int dowork(int n)                                       //练习模块 
{
	int a,b,c,d,e,i,s=0,x=0,y=0;
	srand((int)time(NULL)); 					//产生不同随机数
	for(i=0;i<n;i++)
	{
		e=rand()%2;			//随机产生0或1,来控制随机是乘法(0)还是除法(1)
		a=rand()%100;		//产生100以内的随机数并赋值
		b=rand()%100;
		if(e==0)                                       //乘法 
		{
			if(a*b<100)
			{
				printf("%d*%d=",a,b);
				scanf("%d",&d);
				if(a*b==d)
				{
					printf("正确!\n");
					s+=10;
					x++;
				}
				else
				{
					printf("错误!\n");
					y++;
				} 
			}
			else
			{
				n++;
				continue;
			}
		}
		if(e==1)                                   //除法 
		{
			if(b!=0&&a%b==0)                   //b(分母)不能为零,无意义 
			{
				printf("%d/%d=",a,b);
				scanf("%d",&c);
				if(a/b==c)
				{
					printf("正确!\n");
					s+=10;
					x++;
				}
				else
				{
					printf("错误!\n");
					y++;
				} 
			}
			else
			{
				n++;
				continue;
			} 
		}
	}
	printf("您一共做了%d道题,其中正确%d道,错误%d道\n",x+y,x,y);
	return s;
}

void print(int s,int n)                                 //根据百分比输出结果及评语 
{
	
	printf("您的得分是:%d\n",s);
	if(s/10/n<0.6)								//正确率60%以下
	printf("成绩不及格.\n请努力!\n");
	if(s/10/n>=0.6&&s/10/n<0.8)					//正确率60%到80%
	printf("成绩及格.\n请加油!");
	if(s/10/n>=0.8)								//正确率80%以上
	printf("成绩优秀.\n再接再厉!\n");
}

int main()
{
	int a,n1,n2,s;
L:	show1();
    a=getchoice();
    if(a==1)
    {
    	system("cls");                                         //清屏代码 
    	n1=n2=num();
    	printf("Let's go!!!\n");
	}
    else if(a==2)
    {
    	system("cls");
    	printf("谢谢使用!\n");
		return 0; 
	}
  	s=dowork(n1);
    print(s,n2);
    Sleep(4000);                                //延迟4秒(引用库函数Windows.h) 
    goto  L;                                  //跳转到 L 标签 
}

主界面:

正确提示:

错误提示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值