Half~Q 2022-11-06 23:20 采纳率: 33.3%
浏览 151

c语言N个数求和程序问题

我该怎么修改呢(;′⌒`)
“输入第一行给出一个正整数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;
 } 

运行结果及报错内容

img

  • 写回答

1条回答 默认 最新

  • .LAL. C/C++领域新星创作者 2022-11-07 08:41
    关注
    
    int main()
    {
        int i, n;
        int number, sum;
     
        scanf("%d", &n);
        sum = 0;
        for(i = 1; i <= n; i++)
        {
            scanf("%d", &number);
            sum += number;
        }
        printf("%d\n", sum);
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月6日

悬赏问题

  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败