1.计算n的阶层:
#include<stdio.h>
int main()
{
? ? int i = 0;//定义i
? ? int n=0;//定义n
? ? scanf_s("%d", &n);//接受n的值,且不考虑溢出情况
? ? int ret=1;//定义一个ret来当阶层,且ret初始值不能为0
? ? for (i = 1; i <= n; i++)
? ? {
? ? ? ? ret = ret * i;//利用ret与i相乘然后循环
? ? }
? ? printf("ret=%d\n", ret);//输出ret的值
? ? ? ?return 0;
}
2.计算1!+2!+...+10!:
法一:#include<stdio.h>
int main()
{
? ? int i = 0;//定义i
? ? int n=0;//定义n
? ? int sum = 0;//定义一个sum来存放1!+到10!的和
? ? int ret=1;//定义一个ret来当阶层,且ret初始值不能为0
? ? for (n = 1; n <= 10; n++)
? ? {
? ? ? ? ret = 1;//这样才不会ret有累计的效果
? ? ? ? for (i = 1; i <= n; i++)
? ? ? ? {
? ? ? ? ? ? ret = ret * i;//利用ret与i相乘然后循环
? ? ? ? }//n的阶层
? ? ? ? sum = sum + ret;
? ? }
? ? printf("sum=%d\n", sum);//输出ret的值
? ? ? ?return 0;
}
法二:#include<stdio.h>
int main()
{
? ? int i = 0;//定义i
? ? int n=0;//定义n
? ? int sum = 0;//定义一个sum来存放1!+到10!的和
? ? int ret=1;//定义一个ret来当阶层,且ret初始值不能为0
? ? for (n = 1; n <= 3; n++)
? ? {
? ? ? ? ret = ret * n;//利用ret与i相乘然后循环
? ? ? ? //n的阶层
? ? ? ? sum = sum + ret;
? ? }
? ? printf("sum=%d\n", sum);//输出ret的值
? ? ? ?return 0;
}