C语言考试第一题详细过程

时间:2025-04-26 13:36:38

1.计算 C语言考试第一题详细过程,并输出其结果。

思路是先设计一个函数计算阶乘,再用循环,逐个求和。

#include<stdio.h>
int mul(int n)
{
int num,i;
num=1;
for(i=1;i<=n;i++)
num=num*i;
return(num);
}
void main()
{
int i,sum=0;
for(i=1;i<=10;i++)
sum+=mul(i);
printf("The sum is %d\n",sum);
}

这个代码只能计算1~10的阶乘的和,而稍微修改一下:

#include<stdio.h>
int mul(int n)
{
int num,i;
num=1;
for(i=1;i<=n;i++)
num=num*i;
return(num);
}
void main()
{
int i,n,sum=0;
printf("Enter the number:\n");
scanf("%d",&n);
if(n<=0)
printf("Error\n");
else
{
for(i=1;i<=n;i++)
sum+=mul(i);
printf("The sum is %d\n",sum);
}
}

显然好了不少 ,就可以计算1~n的阶乘之和,但是有超过integer的风险,不如直接修改为:

#include<stdio.h>
double mul(int n)
{
int i;
double num;
num=1.0;
for(i=1;i<=n;i++)
num=num*i;
return(num);
}
void main()
{
int i,n;
double sum=0;
printf("Enter the number:\n");
scanf("%d",&n);
if(n<=0)
printf("Error\n");
else
{
for(i=1;i<=n;i++)
sum+=mul(i);
printf("The sum is %d\n",sum);
}
}

结果大了不少。