题目
求n!再求n!从n-1到10的和
我的程序如下:
#include "stdio.h"
void main()
{
int n,m,s;
scanf("%d",&n);
while(n>=1)
{
m=m*n;
n--;
}
while(n<=10)
{s=s+m;
n++;}
printf("s=%d\n",s);
}
题目
求n!再求n!从n-1到10的和
我的程序如下:
#include "stdio.h"
void main()
{
int n,m,s;
scanf("%d",&n);
while(n>=1)
{
m=m*n;
n--;
}
while(n<=10)
{s=s+m;
n++;}
printf("s=%d\n",s);
}
#include "stdio.h"
void main()
{
int n,m,s,i=1;
m=1,s=0; scanf("%d",&n);
whiile(n-1<=10)
{
while(i<=n-1)
{
m=m*i;i++;}
s=s+m;n++;
}
printf(“%d”,s); return 0;
}
#include "stdio.h" void main() { int n,m,s; scanf("%d",&n);
m=1;
s=0; while(n>=1) { m=m*n; n--; if(n>=10)
s=s+n; } printf("m=%d\n",m);
printf("s=%d\n",s); }
你的程序有几个问题,首先求阶乘时,m应先初始化为1,否则不能正确求得阶乘的值。
第二,你10到n的和,和s没有初始化为零,而且你的循环条件也有问题。像你上面和程序,执行完
while(n>=1) { m=m*n; n--; } 时,n为0了,下面的循环不会执行,所以应该把循环放在上一个循环中,就OK了。