计算s = 1/1! + 1/2! + 1/3! + ……+ 1/n!
题目
输入正整数 n
,计算 s = 1/1! + 1/2! + 1/3! + ……+ 1/n!
的值。
解法
#include <stdio.h>int main(void){ int j, k, n;double f, s;scanf("%d", &n);s = 0; for (k = 1; k <= n; k ++){f = 1;for(j = 1; j <= k; j ++) f *= j;s = s + 1.0 / f;}printf("sum=%f\n", s); return 0;
}
分析
#include <stdio.h>int main(void) { // 主函数,接收一个参数, 参数类型为 void,返回类型为 intint j, k, n; // 定义整型变量 j, k, n double f, s; // 定义双精度浮点型型变量 f, sscanf("%d", &n); // 接收一个输入,为整数,将该输入赋给 ns = 0;// 计算加法---开始 for (k = 1; k <= n; k ++){ // 循环 k = 1, 2, 3, ..., nf = 1; // 计算阶乘---开始 for (j = 1; j <= k; j ++) // 循环 j = 1, 2, 3, ..., kf *= j; // f = f * j // 计算阶乘---结束s = s + 1.0 / f; }// 计算加法---结束printf("sum=%f\n", s); // 输出 sum = 多少多少 ,%f 这个浮点的占位符 表示 s 的值 return 0; // 函数返回 0
}
知识点
- 注释:
// 注释
或/* 注释 */
- 数据类型:
void
:void 代表空,放在参数位置上则显示说明无形式参数。int
:整型double
:双精度浮点型
- 主函数
main()
:C语言总是从主函数开始运行的 - 输入:
scanf()
- 输出:
printf()
- 占位符:
%s
字符串%d
整数%i
整数%f
浮点数