c項目1

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int suan(int ,int ,int );
int pan(int ,int );
int main()
{
    int n,i;//分別代表想循環的次數以及控制循環
    int a,b,c,d;//分別代表兩個運算數,正確的答案和學生給出的答案
    int y;//運算符,1-加,2-減,3-乘,4-除
    int t;//用來交換的中間量
    int z=1;//控制是否繼續做題
    int x;//學生做對的題目數
    int s;
    while(z==1)
    {
        x=0;
        printf("你想做多少道題?\n");
        scanf("%d",&n);
        srand(time(0));//隨機數
        for(i=0; i<n; i++)
        {
            printf("第%d題:\n",i+1);
            y=rand()%4+1;
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;//將運算數控制在100以內
                if((b>a)&&(y==2||y==4))
                {
                    t=a;
                    a=b;
                    b=t;
                }
                if(y==4)
                    a=(a/b)*b;
            }
            while((a+b>=100)||(a*b>=100)); //保證結果不會超過100
            c=suan(a,b,y);
            scanf("%d",&d);
            s=pan(c,d);
            if(s==1)
                x++;
        }
        printf("您本次共答對%d道題,正確率是%c%.2f\n",x,'%',1.0*x/n*100);
        printf("您還想繼續答題嗎?\n");
        printf("1.在來幾道試試\t2.不想學了要玩會\n");
        scanf("%d",&z);
    }
    printf("再見!");
    return 0;
}
/*************************************************************
功能描述:計算出正確的答案
輸入參數:無
返 回 值:c-正確的答案
其他說明:無
/************************************************************/
int suan(int a,int b,int y)
{
    int c;//代表正確的答案
    if(y==1)
    {
        c=a+b;
        printf("%d+%d=\n",a,b);
    }
    else if(y==2)
    {
        c=a-b;
        printf("%d-%d=\n",a,b);
    }
    else if(y==3)
    {
        c=a*b;
        printf("%d*%d=\n",a,b);
    }
    else
    {
        c=a/b;
        printf("%d/%d=\n",a,b);
    }
    printf("請輸入你的答案!\n");
    return c;
}
/*******************x=0;******************************************
功能描述:判斷是否答對題目
輸入參數:無
返 回 值:c-正確的答案
其他說明:無
/************************************************************/
int pan(int c,int d)
{
    int x=0;//控制最對的數目
    if(c==d)
    {
        printf("正確,請保持!\n");
        x=1;
    }
    else
    {
        printf("錯誤,別灰心!\n");
    }
    return x;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章