#既約分数の表示について
最大公約数を求め、そこから既約分数を出力するプログラムです。
エラーは出ませんが、入力の画面で止まります。
#include<stdio.h>
int gcd(int n1,int n2){
int r=1;
while(r!=0){
r=n1%n2;
n1=n2;
n2=r;
}
}
int main(void){
int n,r,a,b,d;
printf("分数を入力してください。\n");
do{
printf("分母を入力してください:"); scanf("%d",&n);
printf("分子を入力してください:"); scanf("%d",&r);
if(n<0||r<0){
puts("\aもう一度入力してください。");
}
}while(n<0||r<0);
d=gcd(n,r);
a=r/d;
b=n/d;
if(b==1)
printf("%d/%d=%dです。\n",n,r,a);
else
printf("%d/%d=%d/%dです。\n",n,r,a,b);
return(0);
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。