C 练习实例25

C 语言经典100例 C 语言经典100例

题目:1 + 2! + 3! + ... + 20! 的和。

程序分析:此程序只是把累加变成了累乘。

实例

// Created by www.runoob.com on 15/11/9. // Copyright © 2015年 菜鸟教程. All rights reserved. // #include <stdio.h> // 计算阶乘的函数 unsigned long long factorial(int n) { unsigned long long result = 1; for(int i = 1; i <= n; i++) { result *= i; } return result; } int main() { unsigned long long sum = 0; // 计算1 + 2! + 3! + ... + 20! for(int i = 1; i <= 20; i++) { sum += factorial(i); } // 输出结果 printf("1 + 2! + 3! + ... + 20!的和是: %llu\n", sum); return 0; }

以上实例输出结果为:

1 + 2! + 3! + ... + 20!的和是: 2561327494111820313

代码解析

  • 头文件: 包含必要的头文件 stdio.h
  • 阶乘函数: unsigned long long factorial(int n) 函数用于计算给定整数 n 的阶乘,返回值类型为 unsigned long long 以处理较大的数值。
    • 初始化 result 为1。
    • 使用 for 循环从1乘到 n
  • 主函数:
    • 定义 sum 变量来累加所有阶乘的和,类型为 unsigned long long 以处理较大的数值。
    • 使用 for 循环计算从1到20的阶乘,并将结果累加到 sum
    • 使用 printf 函数输出最终结果。

C 语言经典100例 C 语言经典100例