c语言输入一个15以内的正整数,输出阶乘值

如题所述

#include <stdio.h>

void main()

{

    int i = 0,count = 1,n;

    printf("请输入一个1~15以内的正整数:\n");

    scanf("%d",&i);

    for(n = 1;n <= i;i--)

        {

            count = count * i;

        }

    printf("阶乘值为%d\n",count);

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-07
这里需要注意一下int的范围在13,14,15的时不够用,可以换成double,不过懒得改,就写成long long int了

#include <stdio.h>
long long int fun(long long int n)
{
if(n==0||n==1)
return 1;
else
return n*fun(n-1);
}
int main()
{
int n=100;
if(n<0||n>15)
{
printf("请输入0~15以内的数:");
scanf("%d",&n);
}
printf("%d的阶乘是%I64d\n",n,fun((long long int)n));
return 0;
}本回答被网友采纳
第2个回答  2014-04-14
#include<stdio.h>
int main()
{
    int n, i;
    scanf("%d", &n);
    long long ans = 1;
    for(i = 1; i <= n; i++)
        ans *= i;
    printf("%lld", ans);
    return 0;
 }

第3个回答  2018-05-07
int n;
printf("请输入15以内的正整数:");
scanf_s("%d", &n);
int i,result;
result = 1;
if (n < 15 && n>0)
{
for (i = 0; i < n; i++)
{
result = result * (n - i);
}
printf("阶乘结果为%d\n", result);
}
else
printf("error!\n");
给出了一个范围,看不懂可以再问我
第4个回答  2014-04-14
#include <stdio.h>
main()
{
int i = 0,count = 1,n;

printf("Please input a number in [1,15]:\n");

scanf("%d",&i);

for(n = 1;n <= i;n ++)

{
count = count * i;
}
printf("%d\n",count);

return 0;

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网