/*小學(xué)生算數(shù) 第二種方法*/在C語言的程序中如何編寫?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int question_get1();
int question_get2();
int type;
void main( void )
{
int answer,Lever;
srand( (unsigned)time( NULL ) );
out:
printf("1.一位數(shù)運算!2.兩位數(shù)運算!\n");
scanf("%d",&Lever);
printf( "請選擇要測試的題目種類:" );
printf( "\n1.加法\n2.減法\n3.乘法\n4.除法\n" );
scanf( "%d", &type );
while( 1 )//實現(xiàn)系統(tǒng)循環(huán)
{
int temp;
char flag;
while(Lever==1)
{
answer = question_get1();//調(diào)用一位數(shù)運算函數(shù)
printf( "請給出你的答案:\n" );
break;//要跳出此次while循環(huán)
}
while(Lever==2)
{
answer = question_get2();//調(diào)用二位數(shù)運算的函數(shù)
printf( "請給出你的答案:\n" );
break;//要跳出此次while循環(huán)
}
fflush( stdin );
scanf( "%d", &temp );//儲存測試者輸入的結(jié)果
while( temp!=answer )//判斷結(jié)果的對錯 錯誤時 實現(xiàn)循環(huán) 運算
{
printf( "\n笨蛋,you are wrong! again!\n" );
fflush( stdin );//繼續(xù)運算
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實現(xiàn)整個系統(tǒng)的循環(huán)
else if(flag=='0')
break;//結(jié)束本程序
}
}
int question_get1()//子函數(shù) 一位數(shù)運算
{
int a,b,c;
if( type==1 )
{
a=rand()%10;//在10以內(nèi)產(chǎn)生隨機(jī)數(shù)
b=rand()%10;//在10以內(nèi)產(chǎn)生隨機(jī)數(shù)
printf( "%d + %d = ?", a, b );
return(a+b);
}
else if( type==2 )
{
b=rand()%10;//在10以內(nèi)產(chǎn)生隨機(jī)數(shù)
c=rand()%10;//在10以內(nèi)產(chǎn)生隨機(jī)數(shù)
printf( "%d - %d = ?", b+c, b );
return(c);
}
else if( type==3 )
{
a=rand()%10;//在10以內(nèi)產(chǎn)生隨機(jī)數(shù)
b=rand()%10;//在10以內(nèi)產(chǎn)生隨機(jī)數(shù)
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()//子函數(shù) 二位數(shù)運算
{
int a,b,c;
if( type==1 )
{
a=rand()%100;//在100以內(nèi)產(chǎn)生隨機(jī)數(shù)
b=rand()%100;//在100以內(nèi)產(chǎn)生隨機(jī)數(shù)
printf( "%d + %d = ?", a, b );
return(a+b);
}
else if( type==2 )
{
b=rand()%100;//在100以內(nèi)產(chǎn)生隨機(jī)數(shù)
c=rand()%100;//在100以內(nèi)產(chǎn)生隨機(jī)數(shù)
printf( "%d - %d = ?", b+c, b );
return(c);
}
else if( type==3 )
{
a=rand()%100;//在100以內(nèi)產(chǎn)生隨機(jī)數(shù)
b=rand()%100;//在100以內(nèi)產(chǎn)生隨機(jī)數(shù)
printf( "%d * %d = ?", a, b );
return(a*b);
}
else
{
b=rand()%10;
c=rand()%10+1;
printf( "%d / %d = ? ", b*c , c );
return(b);
}
}
點擊加載更多評論>>