当前位置: 代码迷 >> C语言 >> 哪个大哥帮忙解答下。谢谢
  详细解决方案

哪个大哥帮忙解答下。谢谢

热度:104   发布时间:2005-04-06 19:12:00.0
哪个大哥帮忙解答下。谢谢
main()
{
long a=0,b=1;
int i;
printf("%d%d",a,b");
for(i=1;i<30;i++)
   {
    a=a+b;
    b=b+a;
    printf("%12ld,%12ld",a,b);
    if(这句忘了。不过是个控制语句。要每行显示4个数  )
   }
}  哪个高手帮帮忙,0-60相加。要求显示每步的运行结果。但是后边的数竟然是负的。郁闷。搞不出来了。
搜索更多相关的解决方案: printf  解答  main  long  

----------------解决方案--------------------------------------------------------
人呢。难道都睡找了???郁闷。
----------------解决方案--------------------------------------------------------
[img]http://bbs.bc-cn.net/bbs/dispbbs.asp?boardID=5&ID=14954&page=1/Winter[/img]

[此贴子已经被作者于2005-4-6 19:55:13编辑过]


----------------解决方案--------------------------------------------------------
你这个程序a=a+b ,b=b+a. 这样递增是很快的.到最后会很大的数.而a,b才是LONG 型.太小啦.
只4个字节.即只能表示2的31次方这么大的数.若程序没错的话,可定义为__int64型的.试一下.
----------------解决方案--------------------------------------------------------
//0-60相加。要求显示每步的运行结果, 每行显示4个结果
#include"stdio.h"
main()
{ int i,j,k,sum=0;
  int a[15][4],*p;
  p=a;
  for(i=0;i<60;i++)
  { sum+=i;
    *p++=sum;
  }
  for(j=0;j<15;j++)
  {    for(i=0;i<4;i++)
      { printf("%d,",a[j][i]);
      }
       printf("\n");
  }
}

[此贴子已经被作者于2005-4-6 20:34:03编辑过]



----------------解决方案--------------------------------------------------------
//这个是改进版本

//0-60相加。要求显示每步的运行结果, 每行显示4个结果
#include"stdio.h"
main()
{ int i,j,sum=0;
  int a[15][4],*p;
  p=a;
  for(i=0;i<60;i++)
  { sum+=i;
    *p++=sum;
  }
  p=a;
  for(i=0;i<60;i++)
  {   if(i>0&&i%4==0)  printf("\n");
      printf("%d,",*p++);
  }
}
----------------解决方案--------------------------------------------------------

#include"stdio.h" main() { int i,sum=0; int a[15][4],*p; p=a; for(i=0;i<60;i++) { sum+=i; *p=sum; printf("%d ",*p); if(i>0&&!(i%4)) printf("\n"); p++; } } //再改

[此贴子已经被作者于2005-4-6 21:09:39编辑过]


----------------解决方案--------------------------------------------------------
//我也改 //0-60相加。要求显示每步的运行结果, 每行显示4个结果 #include"stdio.h" main() { int i,sum=0; for(i=0;i<=60;i++) //0-60 { sum+=i; if(i%4 == 0) //每行打印四个 printf("%4d",sum); } }

----------------解决方案--------------------------------------------------------
我也改下
#include"stdio.h"
main()
{
  int i,sum=0;
  for(i=0;i&lt;=60;i++)      
  {
    sum+=i;
    if(i%4 == 0)     
        printf("%4d\n",sum);
  }
}
在楼上的基础上加了个\n
----------------解决方案--------------------------------------------------------
//谢谢楼上提醒,我发现我的程序有个错误.现予以更正(原帖在8楼) //不过可惜楼上的"\n"加的不是地方. //不过还是要谢谢! //0-60相加。要求显示每步的运行结果, 每行显示4个结果 #include"stdio.h" main() { int i,sum=0; for(i=0;i<=60;i++) //0-60 { sum+=i; if(i%4 == 0) //每行打印四个 printf("\n"); printf("%4d",sum); } }

----------------解决方案--------------------------------------------------------
  相关解决方案