From 9a5809b8889d7156115f66f21ba0729f0850a8aa Mon Sep 17 00:00:00 2001 From: unknown <3181953352@qq.com> Date: Fri, 11 Jan 2019 10:03:52 +0800 Subject: [PATCH] first commit --- student.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 student.c diff --git a/student.c b/student.c new file mode 100644 index 0000000..d4f4545 --- /dev/null +++ b/student.c @@ -0,0 +1,92 @@ +#include"stdio.h" +#include"stdlib.h" //随机函数头文件// +#include"time.h" //时间函数头文件// +int add(int j,int x, int y); //加法计算// +void sub(int j,int x, int y); //减法计算// +int sum=0; //记录得分// +int pd(int result) //*判断输入是否正确 正确 返回1 错误 返回-1*// +{ int n; + scanf("%d",&n); + if(result==n) + return 1; + return -1; +} +void jifen(int result) //根据错误次数记分,累加到sum// +{ + if(pd(result)==1) + sum+=10; + else + { + printf("\n答案错误请重新输入:"); //错一题 // + if(pd(result)==1) + sum+=7; + else + { + printf("\n答案错误请重新输入:"); //错两题// + if(pd(result)==1) + sum+=5; + else + printf("\n答错三次请继续解答下一题:\n"); //错三题// + } + } +} +int main() +{ + int i,x,y,ch,z; + srand(time(NULL));//随机函数 产生不同的随机数// + printf("小学生计算题\n"); + for(i=0;i<10;i++) + { + x=rand()%51; + y=rand()%51; + ch=rand()%2; + switch(ch) + { + case 0: z=add(i+1,x,y); + if(z==1) //重新出一题// + i=i-1; + break; + case 1: sub(i+1,x,y); + break; + default: + printf("系统出错"); + break; + } + } + if(sum>=90&&sum<=100) + printf("SMART"); + else if(sum>=80) + printf("GOOD"); + else if(sum>=70) + printf("OK"); + else if(sum>=60) + printf("PASS"); + else if(sum>=0) + printf("TRY AGAIN"); + else + printf("系统错误"); +// printf("%d",sum); + return 0; + +} +int add(int j,int x,int y) +{ + int result; + result=x+y; + if(result>50) //判断是否超出范围 超出返回1// + return 1; + printf("%d:%d+%d=",j,x,y); + jifen(result); + return -1; +} +void sub(int j,int x,int y) +{ + int result,t; + if(x