C语言实现大整数阶乘计算及科学记数法输出

本程序使用 C 语言计算指定正整数的阶乘,并以科学记数法输出结果,精度为小数点后四位。

程序设计思路:

  1. 输入处理: 读取输入的测试用例数 T,以及每个测试用例的正整数 N。
  2. 阶乘计算: 由于阶乘结果可能很大,超出标准数据类型的表示范围,因此采用数组存储计算结果的每一位数字。
  3. 科学记数法转换: 将计算得到的阶乘结果转换为科学记数法表示,保留四位小数。
  4. 输出结果: 按照科学记数法格式输出结果。

代码实现:

#include 
#include <math.h>

int main() {
    int T, N, i, j, carry, temp, digits, exponent;
    int result[20000] = {0}; // 存储阶乘结果的数组

    scanf("%d", &T);

    while (T--) {
        scanf("%d", &N);

        // 初始化
        result[0] = 1;
        digits = 1; 

        // 计算阶乘
        for (i = 2; i <= N; i++) {
            carry = 0;
            for (j = 0; j < digits xss=removed xss=removed xss=removed xss=removed xss=removed>

示例输入:

2
5
10

示例输出:

1.2000E2
3.6288E6
c 文件大小:372B