#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int number_jia(int a,int b);
int number_jian(int a,int b);
int number_cheng(int a,int b);
int number_chu(int a,int b);
int suijishu();
int main()
{
char username[10];//用户名
int que_count;//题目数量
int yunsuan=1;//接受用户想进行什么运算
int i;//循环变量
char yunsuanfu[4]={'+','-','*','/'};//存储运算符
int current_num1=1,current_num2=1;//当前进行运算的数字
int input_result;//用户输入的结果
int score=0;//总分
int (*pfun[4])(int,int)={number_jia,number_jian,number_cheng,number_chu};//函数指针数组
char jixu='y';
while(1)
{
if(tolower(jixu)!='y')
break;
printf("输入用户名\n\t");
scanf("%s",username);
printf("输入题目数量\n\t");
scanf("%d",&que_count);
printf("选择运要进行的运算\t1:加法\t2:减法\t3:乘法\t4:除法\n");
scanf("%d",&yunsuan);
yunsuan<=4?yunsuan:1;
for(i=0;i<que_count;i++)
{
current_num1=suijishu();
current_num2=suijishu();
printf("\n%d%c%d=",current_num1,yunsuanfu[yunsuan-1],current_num2);
scanf("%d",&input_result);
if(input_result==(pfun[yunsuan-1])(current_num1,current_num2))
score+=2;
}
printf("%s你好你一共得分%d\n",username,score);
printf("是否继续\ty:继续");
scanf(" %c",&jixu);
}
return 0;
}
//100内随机数
int suijishu()
{
srand(time(NULL)-1);
return rand()%100;
}
//下面是四则运算
int number_jia(int a,int b)
{
return a+b;
}
int number_jian(int a,int b)
{
return a-b;
}
int number_cheng(int a,int b)
{
return a*b;
}
int number_chu(int a,int b)
{
if(b!=0)
return a+b;
else
return 0;
}
追问只能出现如加法2+2 89+89 减法34-34这样的算术