标题:这个乘阶计算哪里错了??
只看楼主
風暴
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-23
得分:0 
#include<stdio.h>
main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=1;
for(b=1;b<=a;b++)
{
c=c*b;//乘阶=1*2*3*n;
}
printf("%d\n",c);
}
或许这样看得明白一些.

[此贴子已经被作者于2006-10-26 11:52:52编辑过]


无拘无束,自由自在.
2006-10-26 11:47
jixin96
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-9
得分:0 

将c=a,改为c=1,就行了.用递归也是很简单的.楼主不妨一试.

2006-10-26 13:16
lele2426
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-10-26
得分:0 
就是把c=a,改成c=1啊。开始赋值错误

努力学习C++
2006-10-26 14:40
子夜光
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-11-3
得分:0 

我认为
c=a;
for(b=a;b>=1;b=b-1)
{
c=b*c;


你的c和b在第一次循环时,是一样的,因为在 for(1;2;3) 循环里,是先执行1;等第一次循环结束时,在执行3。


哎!大家一起努力吧!
2006-11-03 19:52
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
得分:0 
b=b-1可以用b--代替。

该学习了。。。
2006-11-03 20:06
huzi00008
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-10-9
得分:0 
乍一看,还真有点看不懂。
另类阿

2006-11-03 20:21
jqbbccn
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-10-17
得分:0 
#include<stdio.h>
int digui(int n);
main()
{
int n;
printf("输入N值:");
scanf("%d",n);
printf("N!=%d",digui(n));
}
int digui(int n)
{
if(n==1)
return 1;
else
return digui(n)*digui(n-1);
}
递归是这样写吗?

2006-11-03 21:07
bianyuan
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-11-3
得分:0 

--b怎么样?

2006-11-03 22:29
link1130
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-29
得分:0 

#include<stdio.h>
main()
{
int a,b;

scanf("%d",&a);

for( b=1;a>1;a--)
{
b=b*a;
}
printf("%d",b);
getch();


}


2006-11-03 22:49
青鸟
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-9-20
得分:0 
以下是引用風暴在2006-10-26 11:47:07的发言:
#include<stdio.h>
main()
{
int a,b,c;
printf("\n请输入一个整数:");
scanf("%d",&a);
c=1;
for(b=1;b<=a;b++)
{
c=c*b;//乘阶=1*2*3*n;
}
printf("%d\n",c);
}
或许这样看得明白一些.

这个是最精简的程序 干嘛把它想得那么麻烦呢`````


who can stop me is me!
2006-11-06 19:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-94242-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099098 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved