求解!非常感谢的,要考试啊 !
编写程序求1!+2!+3!+....+n![flash=400,300]http://yzfy.byethost17.com/flash.php?i=1[/flash][color=white] 阶乘公式....只意会,不言传.[em02] 一个循环不久好了么? 这个太简单了把。
void main(){
int sum=0,n,i;
printf("input n:");/* 提示输入n */
scanf("%d",&n);
for (i=0;i<=n;i++){
sum+=i;
}
printf("sum=%d",sum);
} 既然是考试,就代劳下,呵呵
main()
{
int i,n,temp,sum;
temp=1;//temp是每项的值,等于1是第一项
sum=0;//总和
n=50;//你需要计算到多少就等于多少,或者键盘输入也行;
for (i=1;i<=n;i++)
{
temp=temp*i;
sum=sum+temp;
}
printf("%d\n",sum);
}
自己上机调式下,我没有试过的 呵呵 int fun(int n)
{int m;
if(n==0)
m=1;
else
{if(n>0)
m=n*fun(n-1);
}
return(m);
}
#include "stdio.h"
main()
{int fun(int n);
int n,i,mum;
mum=0;
printf("输入n的值:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
mum=fun(i)+mum;
printf("1!+2!+...n!=%d",mum);
} 这么多高手,我感觉以后能学到很多东西了。 未必
[img]http://yzfy.byethost18.com/list.php?pw=dmga[/img][color=white] [quote][bo][un]yyow3193[/un] 在 2008-6-20 14:21 的发言:[/bo]
int fun(int n)
{int m;
if(n==0)
m=1;
else
{if(n>0)
m=n*fun(n-1);
}
return(m);
}
#include "stdio.h"
main()
{int fun(int n);
int n,i,mum;
mum=0;
printf("输入n的值:\n");
scanf("%d",&n);
... [/quote]
用到了递归?
回复 3# 爱喝牛奶的猫咪 的帖子
看不懂c四行版本啊!!![tk09] [quote][bo][un]yyow3193[/un] 在 2008-6-20 14:21 的发言:[/bo]int fun(int n)
{int m;
if(n==0)
m=1;
else
{if(n>0)
m=n*fun(n-1);
}
return(m);
}
#include "stdio.h"
main()
{int fun(int n);
int n,i,mum;
mum=0;
printf("输入n的值:\n");
scanf("%d",&n);
... [/quote]
慢死你!! 要分析清楚和输入有关的变量,用结构表示出来就好了,自己写写会更好的~~~ 能不用递归的就最好不要用递归,特别是这种迭代意味很强的代码,用递归只是白白浪费机器资源而已。
页:
[1]
