C趣味程序(二)(02)电阻计算
来源:优易学  2010-1-14 12:02:08   【优易学:中国教育考试门户网】   资料下载   IT书店
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 语句应安排在具体计算语句之前。否则将导致计算结果出错。

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训