游戏测试员07 发表于 2017-10-12 23:20:44

求老手帮忙先一下

列:求n!.
    (1)定义3个变量in及mul,为i和mul均赋初值为1.
    (2)从键盘输入一个数,赋给n.
    (3)将mul乘以i的结果赋给mul。
    (4)i的值加1,判断i的值是否大于n,如果大于n,则执行步骤(5),否则执行步骤(3)。
   (5)将mul的结果输出。
   
                        怎么用程序表达出呢

ba21 发表于 2017-10-12 23:36:04

还是自已在试试吧

丶忘却的年少o 发表于 2017-10-13 13:31:21

也不知道你是学什么的,我用C给你写个样子。
其实也不难,就三步。第一步输入n值,第二步执行+判断,第三部打印。第二步用循环就可以,for或者while、do while都行。
#include <stdio.h>

int main(void)
{       
        int i = 1, mul = 1, n;

        printf("输入一个n值:");
        scanf("%d", &n);

        for ( i = 1, mul = 1; i <= n; i++ )
                mul *= i;

        printf("结果是:%d\n", mul);

        return 0;
}

见者生财 发表于 2017-10-13 14:51:05

n=int(input("请输入数字")) #从键盘输入一个数,赋给n.
i=1 #为i和mul均赋初值为1
mul=1
while i<=n:#判断i的值是否大于n
    mul=mul*i #将mul乘以i的结果赋给mul
    i+=1#i的值加1
    print('第%d次乘积为%d'%(i-1,mul)) #这一行没什么用可以删除
print('最终结果为%d'%mul)
页: [1]
查看完整版本: 求老手帮忙先一下