求看一下c语言程序哪里出问题了,这个程序是计算数学中n!的
发布网友
发布时间:2024-10-14 13:53
我来回答
共4个回答
热心网友
时间:2024-12-11 17:13
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,n,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s*i;
printf("%d\n",s);
system("pause");
}
热心网友
时间:2024-12-11 17:14
for(i=1;i<=n;i++) s*=i;
热心网友
时间:2024-12-11 17:14
循环内s=j,每次循环都把s初始化为1了;另外,循环的判断条件i<=n变成赋值语句i=n了,导致条件一直成立,程序执行不完。
热心网友
时间:2024-12-11 17:15
问题一:n=scanf ("%d",&n); 应该改为:scanf ("%d",&n); 这样就得到n了;
问题二:for(i=1;i=n;i++) 中 i=n,条件判断不对;应该改为:for(i=1;i<=n;i++)
问题三: s=j; 每次都会把 s 重新赋值成1;
后面(s=j*(i+1);)的也是错的;
请采纳!!!
正确代码
#include<stdio.h>
void main()
{
int i,s=1,j=1,n;
scanf("%d",&n);
for(i=1;i <= n;i++)
{
s *= i;
}
printf("%d",s);
}