个人介绍:初学C语言的小白,热爱编程的菜鸟。
人生,就要活得漂亮,走得铿锵。自己不奋斗,终归是摆设。无论你是谁,宁可做拼搏的失败者,也不要做安于现状的平凡人。造船的目的不是停在港湾,而是冲击风浪;做人的目的不是窝在家里,而是打造梦想。
文章目录
编程实战练习
1.计算n的阶乘 (阶乘计算)
#include<stdio.h>
int main()
{
int i = 0;
int n = 0;
int ret = 0;
scanf("%d", &n);
//i = 1;//方法一:while语句结构
//ret = 1;
//while (i <= n)
//{
// ret *= i;
// i++;
//}
//方法二:for语句结构
//for (i = 1, ret = 1; i <= n; i++)
//{
// ret *= i;
//}
//方法三:do while语句结构
i = 1;
ret = 1;
do
{
ret *= i;
i++;
} while (i <= n);
printf("%d\n", ret);
return 0;
}
2.计算1!+ 2!+ 3!+ …. + 10!(阶乘计算求和)
普通的方式:
int main()
{
int i = 0;
int n = 0;
int sum = 0;
//printf("请输入一个数来计算其阶乘:>>\n");
//scanf("%d", &n);
for (n = 1; n <= 3; n++)
{
int s = 1;
for (i = 1; i <= n; i++)
{
s = s * i;
}
sum = sum + s;
}
printf("前n项阶乘之和为:%d\n", sum);
return 0;
}
这种方式虽然实现了阶乘求和,但是效率并不高,每次求阶乘都需要从1开始乘。
实际上n! = (n - 1!) * n; 例如3! = 2! * 3,按照这种思想我们优化以下原来的代码,变成:
int main()
{
int i = 0;
int n = 0;
int s = 1;
int sum = 0;
//printf("请输入一个数来计算其阶乘:>>\n");
//scanf("%d", &n);
for (i = 1; i <= 3; i++)
{
s = s * i;
sum = sum + s;
}
printf("sum = %d\n", sum);
return