谁帮我做这道TC题目啊?

来源:百度知道 编辑:UC知道 时间:2024/05/26 20:19:48
以下程序的功能是:求1!+2!+3!+ … +n! 请将程序中错误的地方改正过来。
main()
{
int i,n;
float s=0;
printf(“please input n\n”);
scanf(“%d”,&n);
for (i=1,i<=n,i++);
{
t*=n;
s+=t;
}
printf(“1+2!+3!+…+%d!=\n”,n,s);
}

谁给我它正确的程序啊?
这是作业题目,肯定能求的,下面是我做的,可惜结果不对
main()
{
int i,n,s;
s=0;
printf("please input n\n");
scanf("%d",&n);
for (i=1;i<=n;i++)
{
n=n*i;
s=s+n;
}
printf("1+2!+3!+...+%d!=%d\n",n,s);
}
你们想的太复杂了,这是大一的TC基础题,它主干都交代清楚了,就算改也只会改很小的一部分,再说你们的结果用TC算也不对啊

t你没定义?怎么冒出来的
#include<stdio.h>
void main()
{
int i,n,t=1;
float s=0;
printf("please input n: \n");
scanf("%d",&n);
for (i=1;i<=n;i++)
{
t=i*t;
s+=t;
}
printf("1+2!+3!+...+%d!=%f\n",n,s);
}
你必须知道你错了什么
你可以解释下你的n=n*i;
是什么意思?你这样写代表什么?
(你们想的太复杂了,这是大一的TC基础题,它主干都交代清楚了,就算改也只会改很小的一部分,再说你们的结果用TC算也不对啊)
哪错了~我运行过的编译可以通过结果没错`~我的确只改了很小部分?你可以认真看下。

MS不能求吧?

问题挺多,正确程序如下:
#include <stdio.h>

long double facto(int x)
{
if(x==0)
return(1);
if(x==1)
return(1);
else
return(x*facto(x-1));
}
main()
{
int i,n,t=1;
double s=0;
printf("please input n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
s+=facto(i);
printf("1+2!+…+%d!=%lf\n",n,s);
}

这是我做的,你可以参考一下:
main()
{
in