日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

个人作业1:小学四则运算——基于控制台

發布時間:2023/11/27 生活经验 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 个人作业1:小学四则运算——基于控制台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

a.需求分析:

  自動生成小學四則運算題目的命令行 “軟件”,滿足以下需求:   

    1. 除了整數以外,還要支持真分數的四則運算,真分數的運算,例如:1/6 + 1/8 = 7/24
    2. 運算符為 +, ?, ×, ÷
    3. 并且要求能處理用戶的輸入,并判斷對錯,打分統計正確率。
    4. 要求能處理用戶輸入的真分數, 如 1/2, 5/12 等
    5. 使用 -n 參數控制生成題目的個數,例如執行下面命令將生成10個題目
      Myapp.exe -n 10

b.功能設計:

  生成整數四則運算和分數四則運算,并判斷對錯,打分統計正確率

c.設計實現:

  分函數zs()主要負責整數四則運算,隨機產生兩個隨機數和隨機運算符并計算;分函數gys是求最大公約數函數;分函數fs()主要負責分數四則運算隨機產生兩個隨機數和隨機運算符并調用第三個分函數gys()進行計算;主函數main()主要實現隨機調用兩個分函數zs()和fs()并統計正確率

d.代碼說明:

#include "stdio.h"

#include "stdlib.h"

#include "time.h" #include "string.h" int?gcd(int?x,int?y) { ????int?r; ????r=x%y; ????while(r!=0) ????{ ????????x=y; ????????y=r; ????????r=x%y; ????} ????return?y; } int?zhengshu(){
????int?left,mid,right,result,int_number; ????srand((unsigned)time(NULL)); ????left=rand()%10; ????mid=rand()%4; ????right=rand()%10; ????printf("%d",left); ????switch(mid) ????{ ????????case(0):result=left+right; ????????printf(" + ");break; ????????case(1):result=left-right;? ????????printf(" - ");break; ????????case(2):result=left*right; ????????printf(" ×");break; ????????case(3):result=left/right; ????????printf(" ÷");break; ????} ????printf("%d =",right); ????scanf("%d",&int_number); ????if(int_number == result) ????????{ ????????????printf("回答正確!??? 下一題:\n"); ????????????score=score+1;? ????????} ????else{ ????????????printf("回答錯誤!??? 下一題:\n"); ????????} } int?fenshu(){
????int?left_x,left_y,mid,right_x,right_y,x,y,GYS,int_number1,int_number2; ????srand((unsigned)time(NULL)); ????do{ ????left_x=rand()%10+1; ????left_y=rand()%10+1; ????mid=rand()%4; ????right_x=rand()%10+1; ????right_y=rand()%10+1; ????}while(!(left_x<left_y&&right_x<right_y)); ????printf("%d/%d",left_x,left_y); ????????switch(mid) ????????{ ????????????case(0):x=left_x*right_y+left_y*right_x; ????????????????????y=left_y*right_y; ????????????printf(" + ");break; ????????????case(1):x=left_x*right_y-left_y*right_x; ????????????????????y=left_y*right_y;?? ????????????printf(" - ");break; ????????????case(2):x=left_x*right_x; ????????????????????y=left_y*right_y; ????????????printf(" ×");break; ????????????case(3):x=left_x*right_y; ????????????????????y=left_y*right_x; ????????????printf(" ÷");break; ????????} ????????printf("%d/%d =",right_x,right_y); ????GYS=gcd(x,y); ????x=x/GYS; ????y=y/GYS; ????scanf("%d/%d",&int_number1,&int_number2); ????if(int_number1==x&&int_number2==y) ????{ ????????printf("回答正確!??? 下一題:\n"); ????????score=score+1;? ????} ????else{ ????????printf("回答錯誤!??? 下一題:\n"); ????} } int?main(){
????int?h,count; int?score=0; ????printf("請輸入題目數?"); ????scanf("%d",&count); ????for(int?i=0;i<count;i++) ????{ ????????h=rand()%2; ????????if(h==0) ????????{zs();} ????????else ????????{fs();} ????} ????printf("正確率為:%lf",score*1.0/count); }

轉載于:https://www.cnblogs.com/Xshopping/p/6516924.html

總結

以上是生活随笔為你收集整理的个人作业1:小学四则运算——基于控制台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。