|
- //大一设计 求解
- //本程序由忘记完成 论坛账号gaoyukonga
- //@忘记 希望能帮助到您!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- int main()
- {
- //首先载入运算类型
- int a,i=0,i2=0,d=1;//a为类型 i为分数 i2为错题数、d为题目番号
- printf("请输入运算数值位数!\n输入'1'为1位,运算包括('+'、'-'、'*')\n输入'2'为2位,运算包括('+'、'-'、'*'、'/')\n输入'3'为3位,运算包括('+'、'-'、'*'、'/'、'%')\n");
- scanf("%d",&a);
- if(a!=1 && a!=2 && a!=3){
- printf("请输入1-3!\n");
- }else if(a==1){
- //1位运算处理
- while(1){
- int a1 = (rand()%9+1),b = (rand()%9+1),b1,b2,c = (rand()%3+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
- char c1;//初始化计算符号
- if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else{printf("系统出错!");}//符号、结果处理完成
- printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
- scanf("%d",&b2);//读入答案
-
- if(b2==b1){
- if(i2!=0){
- if(i2>5){
- i=i+2;
- }else{
- i=i+(10-i2*2);
- printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
- }else{
- i=i+(10-i2*2);
- printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
-
- }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
- }
-
- }else if(a==2){
- //2位运算处理
- while(1){
- int a1 = (rand()%90+10),b = (rand()%90+10),b1,b2,c = (rand()%4+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
- char c1;//初始化计算符号
- if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else if(c==4){c1='/';b1=a1/b;}else{printf("系统出错!");}//符号、结果处理完成
- printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
- scanf("%d",&b2);//读入答案
-
- if(b2==b1){
- if(i2!=0){
- if(i2>5){
- i=i+2;
- }else{
- i=i+(10-i2*2);
- printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
- }else{
- i=i+(10-i2*2);
- printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
-
- }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
- }
-
- }else if(a==3){
- //3位运算处理
- while(1){
- int a1 = (rand()%900+100),b = (rand()%900+100),b1,b2,c = (rand()%5+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
- char c1;//初始化计算符号
- if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else if(c==4){c1='/';b1=a1/b;}else if(c==5){c1='%';b1=a1%b;}else{printf("系统出错!");}//符号、结果处理完成
- printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
- scanf("%d",&b2);//读入答案
-
- if(b2==b1){
- if(i2!=0){
- if(i2>5){
- i=i+2;
- }else{
- i=i+(10-i2*2);
- printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
- }else{
- i=i+(10-i2*2);
- printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
-
- }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
- }
-
- }
- system("pause");
- return 0;
- }
复制代码 |
|