You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言实现分数加法计算 按分子分母格式打印运算结果

C语言并联电阻分数格式输出实现

问题根源

现有代码中Parallel变量存储的是并联电路的电导值(即1/R总,单位S),直接打印该变量会输出纯小数形式的电导结果,无法满足1/等效电阻值的格式输出要求。
要实现目标格式,核心逻辑非常简单:既然电导值G=1/R总,那么等效电阻值R总=1/G,只要把算出来的R总填到固定格式1/XXX的分母位置即可。

具体修改要点

  • 新增double类型变量存储并联等效电阻,通过R_parallel = 1.0 / Parallel计算得到分母对应的电阻值(针对给出的三个电阻参数,计算值刚好为≈96.774194,和目标格式要求的数值完全匹配)
  • 计算倒数时统一使用1.0作为分子,避免整数除法导致的类型转换异常
  • 替换原有的纯小数打印逻辑,按固定分数格式拼接输出内容

修改后的可运行代码

#include <stdio.h>

int main ()
{
   double R1 = 500.0, R2 = 200.0, R3 =  300.0;
   double series, Parallel, R_parallel;
   series = R1 + R2 + R3;
   Parallel = 1.0/R1 + 1.0/R2 + 1.0/R3;
   R_parallel = 1.0 / Parallel; // 计算并联等效电阻,作为分数格式的分母

   printf("series: \n");
   printf("%f Ohm + %f Ohm + %f Ohm = ", R1, R2, R3);
   printf("%f Ohm", series);
   printf("\n\nParallel: \n");
   printf("1/%f Ohm + 1/%f Ohm + 1/%f Ohm = ",R1, R2, R3);
   printf("1/%f Ohm", R_parallel); // 按分数格式输出,替代原纯小数结果
   return 0;
}

运行输出示例

series: 
500.000000 Ohm + 200.000000 Ohm + 300.000000 Ohm = 1000.000000 Ohm

Parallel: 
1/500.000000 Ohm + 1/200.000000 Ohm + 1/300.000000 Ohm = 1/96.774194 Ohm

补充说明:如果需要调整分母的小数保留位数,可以修改printf格式串里的%f为指定精度,比如保留两位小数就写%.2f,对应输出1/96.77 Ohm,不需要改动核心计算逻辑。

内容的提问来源于stack exchange,提问作者Phantom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 22:06:04