#include #include #include int question_get1(); int question_get2(); int type; void main( void ) { int answer,Lever; srand( (unsigned)time( NULL ) ); out: printf("1.一位数运算!2.两位数运算!\n"); scanf("%d",&Lever); printf( "请选择要测试的题目种类:" ); printf( "\n1.加法\n2.减法\n3.乘法\n4.除法\n" ); scanf( "%d", &type ); while( 1 )//实现系统循环 { int temp; char flag; while(Lever==1) { answer = question_get1();//调用一位数运算函数 printf( "请给出你的答案:\n" ); break;//要跳出此次while循环 } while(Lever==2) { answer = question_get2();//调用二位数运算的函数 printf( "请给出你的答案:\n" ); break;//要跳出此次while循环 } fflush( stdin ); scanf( "%d", &temp );//储存测试者输入的结果 while( temp!=answer )//判断结果的对错 错误时 实现循环 运算 { printf( "\n笨蛋,you are wrong! again!\n" ); fflush( stdin );//继续运算 scanf( "%d", &temp ); } printf( "\n天才!you are rigth! Very good!\n" ); printf( "press 1 to go on,press 2 to exit,press 0 to end!\n" );//选择菜单 fflush( stdin ); scanf( "%c", &flag ); while( flag!='1' && flag!='2'&&flag!='0' )//选择菜单判断 { printf( "press 1 to go on,press 2 to exit,press 0 to end!\nelse no working!\n" ); fflush( stdin ); scanf( "%c", &flag ); } if ( flag=='2' ) goto out;//回到out实现整个系统的循环 else if(flag=='0') break;//结束本程序 } } int question_get1()//子函数 一位数运算 { int a,b,c; if( type==1 ) { a=rand()%10;//在10以内产生随机数 b=rand()%10;//在10以内产生随机数 printf( "%d + %d = ?", a, b ); return(a+b); } else if( type==2 ) { b=rand()%10;//在10以内产生随机数 c=rand()%10;//在10以内产生随机数 printf( "%d - %d = ?", b+c, b ); return(c); } else if( type==3 ) { a=rand()%10;//在10以内产生随机数 b=rand()%10;//在10以内产生随机数 printf( "%d * %d = ?", a, b ); return(a*b); } else { b=rand()%10; c=rand()%9+1; printf( "%d / %d = ?", b*c, b ); return(c); } } int question_get2()//子函数 二位数运算 { int a,b,c; if( type==1 ) { a=rand()%100;//在100以内产生随机数 b=rand()%100;//在100以内产生随机数 printf( "%d + %d = ?", a, b ); return(a+b); } else if( type==2 ) { b=rand()%100;//在100以内产生随机数 c=rand()%100;//在100以内产生随机数 printf( "%d - %d = ?", b+c, b ); return(c); } else if( type==3 ) { a=rand()%100;//在100以内产生随机数 b=rand()%100;//在100以内产生随机数 printf( "%d * %d = ?", a, b ); return(a*b); } else { b=rand()%10; c=rand()%10+1; printf( "%d / %d = ? ", b*c , c ); return(b); } } 本文来源:https://www.wddqw.com/doc/0d4823afa5e9856a561260fa.html