编写C语言程序首先要有正确的解题思路,然后用C语言正确地表述。
例2.1 鸡兔同笼问题。
“鸡兔同笼问题”是我国古算书《孙子算经》中的著名问题:已知笼中有头 h 个,有脚 f 只,问笼中鸡兔各多少只?
解题思路:
步骤1:输入头和脚的数量,其中 h 代表头的数量, f 代表脚的数量。
步骤2:计算鸡和兔子的数量,其中 chicken 代表鸡的只数,公式为 chicken = ; rabbit 代表兔子的只数,公式为 rabbit = 。
步骤3:输出鸡和兔子的数量。
程序代码如下:
#include <stdio.h> int main(){ int h,f,chicken,rabbit; //定义变量h 、f 、chicken、rabbit 为int 类型 scanf("%d%d",&h,&f); //输入头(h )和脚(f )的数量 chicken=(4*h-f)/2; //计算鸡(chicken)的只数 rabbit=(f-2*h)/2; //计算兔子(rabbit )的只数 printf("chicken=%d,rabbit=%d",chicken,rabbit); //输出鸡和兔子的只数 return 0; }
例2.2 求 的和。
解题思路:
步骤1:找多项式规律,分子都是1,从第二项开始每一项分母都是前一项分母加1。
步骤2:构造多项式中的每一项并累加,其中变量 t 构造多项式中的每一项,变量 s 存放累加结果,此操作需要循环执行100次。
步骤3:输出多项式之和。
程序代码如下:
#include <stdio.h> int main(){ int i,n=1; // 定义变量i 和n 为int 类型,并给n 赋初值1 float t,s=0; // 定义变量t 和s 为float 类型,并给s 赋初值0 for(i=1;i<=100;i++){ // 循环,使循环体执行100 次 t=1.0/n; // 构造多项式中的每一项 s=s+t; // 累加 n=n+1; // 构造多项式下一项的分母 } printf("%f",s); // 输出多项式之和 return 0; }