天天看點

實驗2

#include<stdio.h>

#include <ctype.h>

#include<stdlib.h>

#include<time.h>

#include<math.h>

int a[100],b[100];

int h;

char c[100],sym[5]={'+','-','*','/','!'};

int answer(int i);

void printanswer(int n);

void main()

{

    int o,count;

 int n;

 long k=-10001;

    time_t start,end; 

    int i;

    char r;

       srand((unsigned)time(NULL));

        while(1)

        {

            count=0;

            printf("\t\t\t請輸入題數 (0表示退出)");

            n=-1;

            scanf("%d",&n);

   while(1){

    if(n<0){

     fflush(stdin);

     printf("輸入有誤 請重新輸入");

                    scanf("%d",&n);

    }else{break;}

   }

            if(n==0) exit(0);

            start =time(NULL);

            for(i=0;i<n;i++)

            {

            a[i]=rand()%201-100;

            b[i]=rand()%201-100;

            c[i]=sym[rand()%5];

            if(c[i]==sym[4]) {

                while(a[i]<=0 || a[i]>10){

                   a[i]=rand()%10;

                }

                printf("%d!=",a[i]);

    h=a[i];

            }

            else if(a[i]<0&&b[i]<0) printf("(%d)%c(%d)=",a[i],c[i],b[i]);

            else if(a[i]<0&&b[i]>0) printf("(%d)%c%d=",a[i],c[i],b[i]);

            else if(a[i]>0&&b[i]<0) printf("%d%c(%d)=",a[i],c[i],b[i]);

            else printf("%d%c%d=",a[i],c[i],b[i]);

            scanf("%d",&k);

    if(k==-10001){

     printf("輸入有誤 請重新輸入 ");

                    scanf("%d",&k);

            if(k==answer(i)) {

                printf("正确!\n");

    k=-10001;

                count++;

            else {

    printf("輸入有誤 請重新輸入%d\n",answer(i));

            end =time(NULL);

            printf("恭喜你對了%d題,一共有%d題,",count,n-count);

            printf("你一共花了%d秒\n",end-start);  

        }

}

int answer(int i)

    long o;

        if(c[i]==sym[0]) o=a[i]+b[i];

        if(c[i]==sym[1]) o=a[i]-b[i];

        if(c[i]==sym[2]) o=a[i]*b[i];

        if(c[i]==sym[3]) o=a[i]/b[i];

        if(c[i]==sym[4]){

          o=1;

            for(i=1;i<=h;i++)

                o=o*i;

        return o;

實驗2
實驗2

我們的作業弄得比較簡單得弄了四個功能,修改花了半個小時,讓程式變得簡單。 不過我發現會出現階乘,國小題目沒有階乘,不過階乘有些意思就用了,還有按成符号會死循環,經過我稍微修改,按符号不會死循環了,但是它會讓接下來的所有題目都答0然後顯示錯誤。

結對同伴:

姓名 學号 部落格位址
領航員       侯聖燊 201306114402 http://home.cnblogs.com/u/sihouzi/
駕駛員          刁怿 201306114456 http://home.cnblogs.com/u/diaoyi/

   大概分工方向

我負責調試跟提供材料大腦 部分功能如階乘是我完成的

刁怿負責打大部分代碼 以及部分功能如判斷

然後我們一緻研究成果

仍有不足 望助教指出 謝謝!

實驗2
實驗2