搜索
查看: 1113|回复: 12
打印 上一主题 下一主题

阶乘怎么求

[复制链接]
跳转到指定楼层
楼主
发表于 2016-6-28 09:36:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
输入一个整数n(1<=n<=9),求n的阶乘

沙发
发表于 2016-6-28 11:32:26 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int n,s=1,i=1;
    scanf("%d",&n);  /*输入你想要的n∈[1,9]*/
    while (i<=n)     /*循环*/
                {
                        s=s*i;
                        i=i+1;
        }
    printf("%d",s);
        system("pause");
        return 0;
}
板凳
发表于 2016-6-28 11:32:42 | 只看该作者
我也刚学,可能会有更好的答案
地板
发表于 2016-6-28 12:50:21 | 只看该作者
楼上正解!
补充:如果你在学递归,代码就是这个
#include <stdio.h>
#include <stdlib.h>
int jc(int x)
{
    if(x==1)return 1;
    else return x*jc(x-1);
}
int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",jc(a));
    system("pause");
    return 0;
}
5#
发表于 2016-6-28 13:03:43 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{
         int n,s=1,i=1;
     scanf("%d",&n);  /*输入你想要的n∈[1,9]*/
if(n>=1&&n<=9)
     while (i<=n)     /*循环*/
                 {
                         s=s*i;
                         i=i+1;
         }
     printf("%d",s);
         system("pause");
         return 0;
}
6#
 楼主| 发表于 2016-6-28 14:56:51 | 只看该作者
林麟 发表于 2016-6-28 11:32
#include
#include
int main()

为什么要有这一步scanf("d",&n)
7#
发表于 2016-6-28 17:36:07 | 只看该作者
Benny 发表于 2016-6-28 14:56
为什么要有这一步scanf("d",&n)

想求的阶乘范围
8#
发表于 2016-6-28 22:06:00 | 只看该作者
Benny 发表于 2016-6-28 14:56
为什么要有这一步scanf("d",&n)

这是输入啊!否则程序不知道你想求多少的阶乘啊!
9#
发表于 2016-6-29 17:25:32 | 只看该作者
邀请码 发表于 2016-6-28 12:50
楼上正解!
补充:如果你在学递归,代码就是这个
#include

咳,看见你的这个代码突然发现我的计算器好像可以在这个功能上改进一下
10#
发表于 2016-6-29 17:40:38 | 只看该作者
邀请码 发表于 2016-6-28 22:06
这是输入啊!否则程序不知道你想求多少的阶乘啊!

不过我的代码也还可以了吧
printf("\t\t请输入x的值!\n\t\t");
                                scanf_s("%lf", &x);
                                y = x - 1;
                                while (y >= 1) {
                                        x = y*x;
                                        y--;
                                }
                                printf("\t\tx的阶乘是%.0f", x);
11#
发表于 2016-6-30 16:20:23 | 只看该作者

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int n,s=1,i=1;
        printf("please input n:");
    scanf("%d",&n);  /*输入你想要的n∈[1,9]*/
    while (i<=n)     /*循环*/
                {
                        s=s*i;
                        i=i+1;
        }
    printf("%d\n",s);
        system("pause");
        return 0;
}
12#
发表于 2016-9-6 21:46:37 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,i,b;
    printf("请输入一个1到9的整数:");
    scanf("%d",&a);
    b=a;
    i=1;
    if(a<=9&&a>=1)
    {
    while(i<b)
    {
        a=a*i;
        i=i+1;       
    }
                printf("%d的阶乘为%d\n",b,a);
    }
    else       
    {
                puts("输入的数超过范围!");
    }
        system("pause");
        return 0;[/mw_shl_code]
13#
发表于 2016-10-12 11:49:52 | 只看该作者
#include <stdio.h>//0-9之间任意输入一个数 得到其阶乘 eg;7*8*9//
#include <stdlib.h>
int main()
{
        int a,i;
    a=1;
    printf("insert a number: ");
    scanf("%d",&i);
    while(i<=9&&i>=1)
      {
         a=a*i;
         i=i+1;
      }
      system("color 0a");
    printf("\n%d",a);
    printf("\n\n\n");
        system("pause");
        return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表