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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对输入的两个分数选择‘+’、‘-’、‘*’、‘/’四则运算,并以分数形式输出结果。输入:第一行先输入整数T,表示总共有T组数据。接下来共T行,每行输入分数形式的算术表达式。输出:最简分数形

發布時間:2024/1/8 编程问答 37 豆豆
#include<math.h> #include<stdio.h> int main() {int T;int num1,num2,num3,num4,i,c,a1,a2;char k;int fun(int a1,int a2);//函數調用scanf("%d\n",&T);for(i=1;i<=T;i++){scanf("%d/%d",&num1,&num2);scanf("%c",&k);scanf("%d/%d",&num3,&num4);switch(k){case '+':a1=num1*num4+num2*num3;//分數分子加法運算a2=num2*num4;//分母加法運算c=fun(abs(a1),abs(a2));//求出最大公約數a1=a1/c;//約分a2=a2/c;//約分if(a1/a2==-1)printf("-1");else{if(a2==1)//判斷分母是否為一printf("%d\n",a1);elseprintf("%d/%d\n",a1,a2);}break;case '-':a1=num1*num4-num2*num3;//分數分子減法運算a2=num2*num4;//分母減法運算c=fun(abs(a1),abs(a2));//求出最大公約數a1=a1/c;//約分a2=a2/c;//約分if(a1/a2==-1)printf("-1");else{if(a2==1)//判斷分母是否為一printf("%d\n",a1);elseprintf("%d/%d\n",a1,a2);}break;case '*':a1=num1*num3;//分數分子乘法運算a2=num2*num4;//分母乘法運算c=fun(abs(a1),abs(a2));a1=a1/c;//約分a2=a2/c;//約分if(a1/a2==-1)printf("-1");else{if(a2==1)//判斷分母是否為一printf("%d\n",a1);elseprintf("%d/%d\n",a1,a2);}break;case '/':a1=num1*num4;//分數分子除法運算a2=num2*num3;//分母除法運算c=fun(abs(a1),abs(a2));a1=a1/c;//約分a2=a2/c;//約分if(a1/a2==-1)printf("-1");else{if(a2==1)//判斷分母是否為一printf("%d\n",a1);elseprintf("%d/%d\n",a1,a2);}break;default:printf("無此運算!");}}return 0; }```c /* 函數功能:求最大公約數 函數入口參數:兩個非負整數 函數出口參數:最大公約數 */ int fun(int a1,int a2) {int b1,b2,temp;if(a1<a2){temp=a1;a1=a2;a2=temp;}b1=a1;b2=a2;while(b2!=0)//利用輾轉相除法,直到b2為0為止{temp=b1%b2;b1=b2;b2=temp;}//當其中一個數為0,另一個數就是兩數的最大公約數return b1; }

總結

以上是生活随笔為你收集整理的对输入的两个分数选择‘+’、‘-’、‘*’、‘/’四则运算,并以分数形式输出结果。输入:第一行先输入整数T,表示总共有T组数据。接下来共T行,每行输入分数形式的算术表达式。输出:最简分数形的全部內容,希望文章能夠幫你解決所遇到的問題。

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