当前位置: 代码迷 >> C语言 >> 编了个程序不出哪出错了大家来帮帮忙
  详细解决方案

编了个程序不出哪出错了大家来帮帮忙

热度:161   发布时间:2008-02-16 20:05:14.0
谁能不能完全解释一下二楼的代码
好多都看不懂
因为我才是新手
自学C没很长时间书都还是看了一半而已地
----------------解决方案--------------------------------------------------------
scanf("%d%d\n",&f,&h); F H没声明
    a=h-b*1;  B没有初始化
----------------解决方案--------------------------------------------------------
k = scanf("%d %d", &f, &h);

没见过啊!
张见识!



没什么用吧  但是确实没见过
----------------解决方案--------------------------------------------------------
先判是不是偶数,不会有奇数只脚的鸡或兔吧,算法一定要清晰,不要急着写代码
----------------解决方案--------------------------------------------------------
算法倒是清楚了
对了楼上那位B没有初始化是怎么回事
应该怎么让它初始化
----------------解决方案--------------------------------------------------------
#include "math.h"
#include"stdio.h"
int main()
{
    int x,y,a,b;
    printf("legs:");
    scanf("%d",&x);
    printf("head:");
    scanf("%d",&y);
    if(x/2==0)
      {
        b=(x-2*y)/2;
        a=y-b;
      }
    else printf("error:没有奇数只脚的鸡或兔");
    if(a/2==0&&b/4==0)
      {
        printf("ji:a=%d\n",a);
        printf("tu:b=%d\n",b);
      }
    else printf("error");
}
感谢aprogram,为这省点时间,把他的给改了改就贴出来了
----------------解决方案--------------------------------------------------------
lz慢慢来不急...
----------------解决方案--------------------------------------------------------
是判断余数为零,上面写错了,在此再贴改正的
#include "math.h"
#include"stdio.h"
int main()
{
    int x,y,a,b;
    printf("legs:");
    scanf("%d",&x);
    printf("head:");
    scanf("%d",&y);
    if(x%2==0)
      {
        b=(x-2*y)/2;
        a=y-b;
      }
    else printf("error:没有奇数只脚的鸡或兔");
    if(a%2==0&&b%4==0)
      {
        printf("ji:a=%d\n",a);
        printf("tu:b=%d\n",b);
      }
    else printf("error");
}
感谢aprogram,为这省点时间,把他的给改了改就贴出来了
----------------解决方案--------------------------------------------------------
/*按照题意,编了个小程序,经win-tc测试,完全通过,请各位指点一二。*/



#include<stdio.h>
int main()
{
    int t,j,tu,ji;
    char x;
    do
    {

          printf("***************************************************\n");
          printf("现在,做一个小游戏:有鸡兔同笼,您输入总的头数和\n"
                 "总的脚数,然后系统会给出您鸡有几只,兔有几只。\n");
          printf("***************************************************\n");
          printf("请输入头的数量:");
          scanf("  %d",&t);
          puts(" ");
          do
          {
                printf("请输入脚的数量:");
                scanf("  %d",&j);
                puts(" ");
                if(j%2!=0)
                printf("您的数据错误,不能有奇数的脚 ,请重新输入。\n");
          }
          while(j%2!=0);
          for(tu=1;tu<t;tu++)
          {
               ji=t-tu;
               if(2*ji+4*tu==j)
               printf("鸡为%d只\n 兔为%d只\n",ji,tu);
          }
          printf("请问,您还要重玩吗?按N退出,其它键重来:\n");
          scanf("  %c",&x);
    }
    while(x!='n'&&x!='N');
    printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
    printf("谢谢您的参与,再见!\n" );


    getch();
}
----------------解决方案--------------------------------------------------------
要勇于承认错误,再贴一次,这次应该没错了
要勇于承认错误,再贴一次,这次应该没错了
#include "math.h"
#include"stdio.h"
int main()
{
    int x,y,a,b;
    printf("legs:");
    scanf("%d",&x);
    printf("head:");
    scanf("%d",&y);
    if(x%2==0)/*脚必须是偶数*/
      {
        b=(x-2*y)/2;
        a=y-b;
        if(a>=0&&b>=0)/*必须有鸡或兔,不可能没有或是负的*/
           if(a+b==y&&2*a+4*b==x)/*此if-else语句可以没有,为保险还是写上了*/
            {
              printf("ji:a=%d\n",a);
              printf("tu:b=%d\n",b);
            }
          else printf("error");
        else printf("error");
      }      
    else printf("error");
    getch();
}
至于k=scanf("%d %d", &f,&h);是函数调用,但是它的值是随机的,我将k定义为整型,代码如下:
#include "math.h"
#include"stdio.h"
int main()
{
    int x,a;
    float b;
    char c;
    printf("input");
    a=scanf("%d",&x);
    printf("a=%d\n",a);
    printf("x=%d\n",x);

    printf("input");
    b=scanf("%d",&x);
    printf("b=%f\n",b);
    printf("x=%d\n",x);

   printf("input");
    c=scanf("%d",&x);
    printf("c=%f\n",c);
    printf("x=%d\n",x);
    getch();
}
----------------解决方案--------------------------------------------------------
  相关解决方案