提示:本人程序仅供参考,学无止尽,请自行研究
一、题目
若3文钱可以买1只公鸡,2文钱可以买1只母鸡,1文钱可以买3只小鸡,求在买的公鸡数最多的前提下,
用100文钱买100只鸡,能买多少只母鸡?请自定义一个函数,采用在main函数中调用该函数方式实现
求解,并在main函数中以十进制整型输出结果。
二、代码
代码如下:
#include<stdio.h>
int main(){
int BuyChicken(int money,int number);
int max = BuyChicken(100,100);
printf("%d",max);
return 0;
}
//定义用任意钱买任意个鸡的函数
int BuyChicken(int money,int number){
int cockNumber ,henNumber, chickenNumber;
int cockMoney = 3;
int henMoney = 2;
int chickenMoney3 = 1; //代表三只小鸡一文钱
int hen[money/cockMoney];
int k = 0;
for(cockNumber = 1; cockNumber < (money/cockMoney); cockNumber++)//公鸡数量从1开始算
for(henNumber = 1; henNumber < (money/henMoney); henNumber++)//母鸡数量从1开始算
for(chickenNumber = 0; chickenNumber < money/chickenMoney3; chickenNumber++){
if(((cockNumber + henNumber + chickenNumber*3) == number) && ((cockNumber * cockMoney + henNumber * henMoney + chickenNumber * chickenMoney3) == money) ){
hen[k] = henNumber;
k++;
}
}
return hen[k-1];//数组的最后一位就是最买多的公鸡情况下母鸡的数量
}
总结
①尽量使我们定义的变量“见名知意”
②尽量使函数的适用性强,不止于满足该题目的条件