预测未来科技1000年:从键盘输入一个正整数n,计算并显示其阶乘值。

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 02:21:42
编写C语言程序

#include <stdio.h>
unsigned long long fact(int n);
int main(void)
{
int num;
printf(" 本机: ULLONG_MAX = %llu\n",ULLONG_MAX);
printf(" 请输入一个不大于20的正整数: ");
while(scanf("%d",&num) == 1)
{
if(num<0)
printf(" 不能为负数!\n");
else if(num>20)
printf(" 数据不能大于20!\n");
else
{
printf(" 计算 %2d! 的结果: %llu\n",num,fact(num));
printf("\n");
}
printf(" 请输入一个不大于20的正整数: ");
}
printf("\n 再见!\n");
return 0;
}
unsigned long long fact(int n)
{
unsigned long long ans;
for(ans=1;n>1;n--)
ans *=n;
return ans;
}
注意:printf(" 本机: ULLONG_MAX = %llu\n",ULLONG_MAX);
是检测本机可以容纳的最大无符号整数,所以n的阶乘不能超过此数值。
编译器必须满足c99规范。

main()
{ int n,i,x;
printf(\"please enter a number:\\n\");
scanf(\"%d\",&n);
for(i=1;i<n;i++)
x=n*i;
printf(\"%d!=%d\\n\",n,x);
} 我用的操作系统是 WIN2000 编译系统 TURBOC:2.0
本人只考虑 正确 其他都没顾虑

#include <stdio.h>
float mi(float x,int n)
{int i;
float add=1;
for (i=1;i<=n;i++)
add*=x;
return add;
}
void main()
{int x,n,m;
scanf("%d %d",&x,&n);
m=mi(x,n);
printf("%d",m);

}

其中X是需要计算的数,n为幂次

main()
{
int i,j,k=1;
scanf("%d",&i);
for(j=1;j<=i;j++)
k=k*j;
printf("%d",k);
}
我想这个可以了,你试试吧!

main()
{int i,n,sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum*i;
printf("%d",sum);
}