1、首先打开vc6.0,新建一个项目。
2、添加头文件。
3、添加main主函数。
4、定义int变量i。
5、定义double类型变量sum,mix,并赋予初始值。
6、使用for循环求sum。
7、使用printf打印sum。
8、运行程序,看看结果。
最基础的思路,是逐个求阶乘,并累加。不过由于阶乘是从1乘到n,所以每个数都单独求一次阶乘,会有很多重复运算,影响效率。
所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。
以此为主导,代码如下:
#include
int main()
{
int n, i, n1 = 1,s=0;
scanf("%d",&n);//输入n值。
for(i=1; i <= n; i ++)
{
n1*=i;//计算i的阶乘。
s+=n1;//累加。
}
printf("%d\n", s);//输出结果。
}
#include
int facSum(int n)
{
s=0;
int y=1;
while(n>1)
{y=y*n;
n--;
s=s+y;}
return(s)
}
main()
{
int n;
printf("input a inteager number:\n");
scanf("%d",&n);
printf("%d",facSum(n));
}
这样就对了!你还得把C的基础好好复习一下!函数参数的使用!谢谢
#include
int facSum(int s)
{ int n;
int y=1;
while(n>1)//n 的初始值呢?没初始化怎么减?n 和 s之间是不是应该有个关系运算呢?
{y=y*n;n--;
s=s+y;}
return(s)
}
main()
{int s,n,y;
printf("input a inteager number:\n");
scanf("%d",&n);
printf("%d",facSum(s));//这里是不是应该传n进去?s 没有初始化也没有用户输入怎么计算??
}
#include
int facSum(int n)//这里传递的是n的值,返回的是和
{
int s=0;
int y=1;
while(n>=1)
{
y=y*n;
n--;
s=s+y;
}
return(s)
}
main()
{int s,n,y;
printf("input a inteager number:\n");
scanf("%d",&n);//你把数据放进了n里面
printf("%d",facSum(n));//你调用的却是s
}