农场计数

   农场计数问题(20分)

l  问题描述

已知某农场中有一群鸡和兔子,总共有M个头和N只脚,计算总共有多少鸡和兔子

l  要求实现函数

int GetFowlsNum(int iHeadNum, int iFootNum, int *iChickenNum, int *iRabbitNum)

【输入】iHeadNum:      总共头的数量

       iFootNum:           总共脚的数量

【输出】iChickenNum:      鸡的数量

              iRabbitNum:         兔子的数量

【返回】 0:             找到符合要求的鸡和兔子的数量

         -1:            未找到符合要求的数量

l  示例

输入:iHeadNum =201, iFootNum=604

输出:iChickenNum=100, iRabbitNum=101

返回:0

 

输入:iHeadNum =201, iFootNum=123

输出:iChickenNum=0, iRabbitNum=0

返回:-1

下面是我的程序  主要的错误是没有对指针赋值就开始调用指针了 导致程序一直没结果 很简单的问题 确实是最容易犯的地方

#include
#include
int GetFowlsNum(int iHeadNum,int iFootNum,int *iChickNum,int *iRabbitNum)


{
     int i=0;
  int j=0;
  int flag=0;
  printf("%d %d\n",iHeadNum,iFootNum);
  for(i=0;i<=iHeadNum;i++)
 {  for(j=0;j<=iFootNum;j++)
  {    if(((i+j)==iHeadNum)&&((2*i+4*j)==iFootNum))
           
   {      
      
      *iChickNum=i;
            *iRabbitNum=j;
        printf("ChickenNum is %d,RabbitNum is %d\n",*iChickNum,*iRabbitNum);
             flag=1;
 
   }
  
  }
 }
 
  if(flag==1)
  {
   return 0;
  }
  else
  {
   return -1;
  }

}
int main()
{
int n=0,a=0,b=0;
int c=0,d=0;
int *p,*p1;
p=&c;p1=&d;
printf("input the iHeadNum\n");
scanf("%d",&a);
printf("input the iFootNum\n");
scanf("%d",&b);
n=GetFowlsNum(a,b,p,p1);

printf("%d\n",n);
}

 

 

你可能感兴趣的:(c语言学习)