厦大C在线实验题3 分数约简
易錯(cuò)點(diǎn):分母為0的時(shí)候直接輸出0就行了;break的位置要注意;i有外用要設(shè)置成全局變量。
疑點(diǎn):Dev C++可以在循環(huán)的時(shí)候直接return i;但廈大oj需要中間變量ys;
描述
自從小明拜小強(qiáng)為師后,自知和師傅之間有著無(wú)法逾越的差距!不過(guò)他并不氣餒,他決定通過(guò)的努力一點(diǎn)一點(diǎn)縮短與師傅之間的距離!這不才剛學(xué)完循環(huán)結(jié)構(gòu),他就迫不及待的想練習(xí)了。于是他自己去找了一些題來(lái)練手!
這第一個(gè)題很簡(jiǎn)單,就是給出一個(gè)分?jǐn)?shù),把它化為最簡(jiǎn)分式。
輸入
第一行輸入一個(gè)整數(shù)T,T \le 100T≤100,代表有T組測(cè)試數(shù)據(jù)。接下來(lái)的T行,每行輸入兩個(gè)非負(fù)整數(shù)n、m。n是分子,m是分母(也就是n/m)。每一行代表一組測(cè)試數(shù)據(jù)。0 \lt m,n \lt 1000000<m,n<100000
輸出
輸出最簡(jiǎn)分式,格式a/b。若b=1,只輸出a;若分母n=0,則輸出“Error!”(輸出無(wú)引號(hào))
每組測(cè)試數(shù)據(jù)占一行。
輸入樣例 1?
3 12 16 15 3 20 0輸出樣例 1
3/4 5 Error!提示
注意:今后還會(huì)遇到有T組測(cè)試數(shù)據(jù)的問(wèn)題,均可參照如下方式處理。
其實(shí),T組數(shù)據(jù)不必一次性全部讀進(jìn)來(lái),可以每次只讀取兩個(gè)數(shù),一組一組處理。參考代碼為:
scanf("%d", &T); for(int t=0;t<T;t++) {scanf("%d%d", &n, &m);//處理一組n,m....//輸出本組結(jié)果 } #include<stdio.h>int main() {int t,n,m,ys;int gys(int n,int m);scanf("%d",&t);for(int i=0; i<t; i++){scanf("%d %d",&n,&m);if(m==0) printf("Error!\n");else if(n==0) printf("0\n");else {ys=gys(n,m);m/=ys;n/=ys;if(m==1) printf("%d\n",n);else printf("%d/%d\n",n,m);} }return 0; } int gys(int n,int m) {int t,i,ys;if(n>m) {t=n;n=m;m=t;}for(i=n; i>0; i--){if(m%i==0 && n%i==0){ys=i;break;}}return ys; }?
?
總結(jié)
以上是生活随笔為你收集整理的厦大C在线实验题3 分数约简的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 下载测试点
- 下一篇: HTML5期末大作业:动漫网站设计——福