我该怎么修改呢(;′⌒`)
“输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围
内。另外,负数的符号一定出现在分子前面。
输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有
公因子。如果结果的整数部分为0,则只输出分数部分。”
#include<stdio.h>
int main()
{
int a[100];
int b[100];
int n,i;
int pro2=1,pro1=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d/%d",&a[i],&b[i]);
}
for(i=0;i<n;i++){
pro2=pro2*b[i]; //计算分母相乘之和
}
for(i=0;i<n;i++){
pro1=pro1+(pro2/b[i])*a[i]; //计算分子(同分母 )之和
}
if(pro1%pro2==0){
printf("%d",pro1/pro2); //只有整数的话输出只整数
}
else {
if(pro1>pro2){
printf("%d ",pro1/pro2);} //输出整数部分
pro1=pro1%pro2; //除去分数中的整数部分
for(i=pro1;i>1;i--){ //进行化简
if(pro1%i==0&&pro2%i==0){
pro1=pro1/i;
pro2=pro2/i;
}
}
printf("%d/%d",pro1,pro2); //输出分数部分
}
return 0;
}