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

1.计算 QQ20140916182624_thumb4,并输出其结果。

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

#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
",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:
");
    scanf("%d",&n);
    if(n<=0)
        printf("Error
");
    else
    {
        for(i=1;i<=n;i++)
            sum+=mul(i);
        printf("The sum is %d
",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:
");
    scanf("%d",&n);
    if(n<=0)
        printf("Error
");
    else
    {
        for(i=1;i<=n;i++)
            sum+=mul(i);
        printf("The sum is %d
",sum);
    }
}

结果大了不少。


欢迎访问我的的博客:www.wshunli.com

-------------------

已迁移文章:

VMware 12安装Mac OS X 10.10

http://www.wshunli.com/posts/65583447.html 

Tomcat安装配置

http://www.wshunli.com/posts/c8d48a24.html 

原文地址:https://www.cnblogs.com/wangshunli/p/3983236.html