位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

/*小學(xué)生算數(shù) 第二種方法*/在C語言的程序中如何編寫?

提問人:楊紫紅發(fā)布時(shí)間:2020-11-17

#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ù)運(yùn)算!2.兩位數(shù)運(yùn)算!\n");

   scanf("%d",&Lever);

   printf( "請選擇要測試的題目種類:" ); 

   printf( "\n1.加法\n2.減法\n3.乘法\n4.除法\n" ); 

   scanf( "%d", &type );

  


   while( 1 )//實(shí)現(xiàn)系統(tǒng)循環(huán)

      {   

         int temp;

         char flag;

while(Lever==1)

{

answer = question_get1();//調(diào)用一位數(shù)運(yùn)算函數(shù)

printf( "請給出你的答案:\n" );

break;//要跳出此次while循環(huán)

}

while(Lever==2)

{

answer = question_get2();//調(diào)用二位數(shù)運(yùn)算的函數(shù)

printf( "請給出你的答案:\n" );

break;//要跳出此次while循環(huán)

}

   fflush( stdin );

         scanf( "%d", &temp );//儲存測試者輸入的結(jié)果

         while( temp!=answer )//判斷結(jié)果的對錯  錯誤時(shí) 實(shí)現(xiàn)循環(huán) 運(yùn)算

            {

              printf( "\n笨蛋,you are wrong!  again!\n" );

   fflush( stdin );//繼續(xù)運(yùn)算 

              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實(shí)現(xiàn)整個(gè)系統(tǒng)的循環(huán)

else if(flag=='0')

break;//結(jié)束本程序

       }

   

 }


int question_get1()//子函數(shù) 一位數(shù)運(yùn)算

{

   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ù)運(yùn)算 

{

   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);

      }  

 }

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部