当前位置: 代码迷 >> C语言 >> [求助]本人是初学+自学,写个极简单的程序不知道错在那里?
  详细解决方案

[求助]本人是初学+自学,写个极简单的程序不知道错在那里?

热度:121   发布时间:2006-07-31 14:21:48.0
楼主只考虑了输入的a为1的情况。

#include<stdio.h>

int main()
{
int a,c;
long b=1;

scanf("%d%d",&a,&c);
while(a<=c)
{
b=b*a;
a++;
}
printf("%ld",b);
return(0);
}
----------------解决方案--------------------------------------------------------

这样会不会好点呢。
#include<stdio.h>

main()
{
int a,c,d;
long b=1;
scanf("%d%d",&a,&c);
if(a>c)
{
d=a;
a=c;
c=d;
}
while(a<=c)
{
b=b*a;
a++;
}
printf("%ld",b);
return(0);
}


----------------解决方案--------------------------------------------------------

搂主写程序的习惯怎么有点汇编的味道


----------------解决方案--------------------------------------------------------
以下是引用sxxsxx在2006-7-31 16:46:23的发言:

搂主写程序的习惯怎么有点汇编的味道

建议改改
----------------解决方案--------------------------------------------------------

这个程序开始要比较输入数值的大小。
看了这么多层楼,只发现十二楼的兄弟注意了这一点。
做事要严谨!


----------------解决方案--------------------------------------------------------

main()
{
int a,b;
printf("please input two number\n");
scanf("%d,%d",&a,&b);
if(a>b)
{
int temp;
temp=a;
a=b;
b=temp;
}
while(1)
{
if(a==b)
break;
printf("%d*%d=%d\n",a++,b,a*b);
}


----------------解决方案--------------------------------------------------------
恩,的确如此
----------------解决方案--------------------------------------------------------
谢谢大家!刚才看了大家的程序!确实学到很多!就象输入的数字要比大小的问题,在下也考虑过!只是觉得我应该一步步来!问题一个个的解决!这下好了!全都在这里了!
谢谢大家!!
----------------解决方案--------------------------------------------------------
16楼的兄弟里的
printf("please input two number\n");
scanf("%d,%d",&a,&b);
这部分意思是执行程序时,会显示--please input two number然后回车换行!
然后就输入要计算的两个数据吗?
这个我也想过!只是不知道这样能否正确
在下才疏学浅!很多想到了!但不知道怎么去解决!
在次谢谢大家
----------------解决方案--------------------------------------------------------
对,这些都是基础的东西!
----------------解决方案--------------------------------------------------------
  相关解决方案