C趣味程序(二)(02)电阻计算 |
|
www.nanhushi.com 佚名 不详 |
1.2.2 电阻计算 求如下图所示电路中A,B间的等效电阻r

算法分析如下: 把整个电路分为4级,从左至右逐级递推处理。 首先注意把电路中的电阻数据按顺序写入数组,最右端电阻在前,以后每级横向电阻在前,竖向电阻在后。第三级没有横向电阻,相应位置置数据0。最后,置两个-1作为数据的终止标志。 操作时r读入最右端电阻。进入i循环(预置20级),读入data[i],data[i+1]两个电阻,data[i]与右边等效电阻串联,然后与data[i+1]并联,根据电阻计算公式操作: r=r+data[i]; r=(r*data[i+1])/(r+data[i+1]); 当读入的data[i]为负时,即已计算完毕,退出循环等效电阻r 程序代码如下: #include<stdio.h> void main() { int i; double r; double data[]={25,4,13,50,3,0,15,17,31,-1,-1}; r=data[0]; for(i=1;i<=20;i+=2) { if(data[i]<0) break; r=r+data[i]; r=(r*data[i+1])/(r+data[i+1]); } printf("A,B间的等效电阻为:%.3f\n",(r*1000+0.5)/1000); } 程序运行结果如下: A,B间的等效电阻为:11.932
注意:本程序只适用于II形式的电路电阻计算。如果对应位置没有电阻,必须相应补0。同时在程序中循环体内判断data[i]<0 语句应安排在具体计算语句之前。否则将导致计算结果出错。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: C趣味程序(二)(01)舍罕王的失算 下一篇文章: C趣味程序(二)(02)数据求平均值 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|