個人項目1:一個能產生小學二年級四則運算題目的“軟體”

來源:互聯網
上載者:User

標籤:for迴圈語句   and   迴圈   交換   運行   函數   nbsp   決定   ==   

做這個程式,用了差不多半個小時。從開始的思路到語句的實踐,之間也出現了一些文法的錯誤,最後也得到了修正。由於學習的語言種類有限(c#剛剛開始學,大一時學習過c語言),在這裡選擇用C語言編寫這個程式,環境是vs2010。

編寫軟體的大綱及思路:

1.需要產生隨機自然數,我選擇了rand函數

2.需要有加減乘除符號且隨機分布,我定義了一個隨機數c,當隨機數取0的時就是+,取1的時就是-,取2的時就是*,取3的時就是/

3.減法算出來的數不能為負,我採用了if函數先判斷大小,如果順序不合適就對兩個隨機數進行交換

4.用for迴圈語句可以輕鬆的產生30道題目

代碼如下:

#include<stdio.h>#include<Windows.h>#include<time.h>void main(){    int a, b, c, d, i;    srand(unsigned( time(NULL)));    for(i = 0; i < 30; i++)    {        a = rand() % 100;        b = rand() % 100;        c = rand() % 4;        switch (c)        {        case 0:printf("%d + %d =\n",a,b);            break;        case 1:if (a < b)               {                   d = a;                   a = b;                   b = d;               }             printf("%d - %d =\n", a, b);             break;        case 2:printf("%d * %d =\n",a,b);            break;        case 3:            while (b == 0)            {                b = rand() % 100;            }            printf("%d / %d =\n", a, b);            break;        }    }    system("pause");}

運行結果如下:

和同學的程式相比,都使用了隨機函數rand擷取隨機數,利用for函數控制產生題型的數量。不同之處在於“+ - * /”符號的產生方式,我是定義了一個隨機變數c,它的範圍是0-3,通過c產生的數來決定加減乘除的符號,而同學的是先定義一個包含加減乘除的字串,然後利用srand在裡面擷取隨機運算子。總的來說,結果都是一樣的,我也學習到另一種編程方法,收穫頗多。

 

個人項目1:一個能產生小學二年級四則運算題目的“軟體”

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.