求正整数n 的阶乘n!
求正整数n 的阶乘n!,其中 n 由用户输入。用do-while 语句实现。#include<stdio.h>
main()
{
int i,n,y=1;
printf(" n = ");
scanf("%d",&n);
if(n=0) y= 1; //单独运算n=0时
i++;
else if (n>0)
i=1;
do
{
y = y*i;i=i+1;}
while (i<=n);
printf("n! = %d",y);
return 0;
}
为什么我用了if语句嵌套后,do-while语句好像不执行了,输出总为1 #include<stdio.h>
main()
{
int i = 1, n, y = 1;
printf(" n = ");
scanf("%d",&n);
do
{
y *= i;
i++;
}
while (i <= n);
printf("n! = %d",y);
return 0;
} 这个题不需要判断,只要循环就能完成耱阶乘
当 i = 1 时,y = y * i = 1 * 1 = 1
当 i = 2 时,y = y * i = 1 * 1 * 2 = 1 * 2 = 2
当 i = 3 时,y = y * i = 1 * 1 * 2 * 3 = 1 * 2 * 3 = 2 * 3 = 6
。 。 。 #include<stdio.h>
int main()
{
int i,n,result=1;
printf("请输入n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
result*=n;
n=n-1;
}
printf("%d的阶乘是%d",n,result);
return 0;
}
你可以用for rookie22 发表于 2020-12-10 00:03
#include
int main()
{
好的,谢谢{:10_256:}
页:
[1]