实验5 函数(第4周)

1.计算1!+2!+…+100!。要求定义和调用函数fact(n)计算n的阶乘。

#include<stdio.h>
double fact(int n);         /*调用函数fact(n)*/
int main(void)
{
    int i;
    double sum;

    sum=0;
    for(i=1;i<=100;i++){
        sum=sum+fact(i);     /*循环计算1!+2!+...+100!的值*/
    }
    printf("1!+2!+...+100!=%e
",sum);

    return 0;
}

double fact(int n)        /*调用函数fact(n)计算n的阶乘*/
{
    int i;
    double result;
    result=1;          /*因为阶乘,首先给result赋值为1*/
    for(i=1;i<=n;i++){
        result=result*i;
    }

    return result;
}

--------------------------------题目分割线---------------------------------

2.编制程序,输入m、n(m≥n≥0)后,计算下列表达式的值并输出。 要求将计算阶乘的运算编写作函数fact(n),函数返回值的类型为float。

#include<stdio.h>
float fact(int x);       /*调用函数fact(n),返回值的类型为float*/
int main(void)
{
    int m,n;
    double item,sum;
    printf("Enter m&n:");
    scanf("%d%d",&m,&n);
    sum=0;
    item=fact(n)*fact(m-n);      /*运用函数进行计算*/
    sum=fact(m)/item;         /*运用函数进行计算*/
    printf("sum=%.2f
",sum);

    return 0;
}
float fact(int x)
{
    int i;
    float result;

    result=1;
    for(i=1;i<=x;i++)
        result=result*i;    /*计算x的阶乘*/

    return result;
}

--------------------------------题目分割线---------------------------------

3.输入两个正整数m和n(m<n),求从m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。

#include<stdio.h>
int isprime(int x);
int main(void)
{
    int i,j,sum,m,n;
    printf("Enter m & n:");
    scanf("%d%d",&m,&n);
    sum=0;
    for(i=m;i<=n;i++){
        for(j=2;j<=i;j++){
        if(i%j!=0&&i!=1)
    sum=sum+i;
    printf("sum=%d
",sum);
        }
    }

    return 0;
}

--------------------------------题目分割线---------------------------------
4、验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6 = 3 + 3,8 = 3 + 5,…,18 = 7 + 11。将6~100之间的每个偶数都表示成两个素数之和。函数prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
--------------------------------题目分割线---------------------------------
5、某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款月数(month),计算公式如下:客户打算在5~30年的范围内选择还清贷款的年限,想得到一张“还款年限—月还款额表”以供参考。

(1)定义函数cal_power(x,n)计算x的n次幂(即x^n),函数返回值类型是double。
(2)定义函数cal_money(loan,rate,month)计算月还款额,函数返回值类型是double,要求调用函数cal_power(x,n)计算x的n次幂。
(3)定义函数main(),输入贷款本金loan(元)和月利率rate,输出“还款年限—月还款额表”,还款年限的范围是5~30年,输出时分别精确到年和元。要求调用函数cal_money(loan,rate,month)计算月还款额。

原文地址:https://www.cnblogs.com/danson-daisy/p/3380034.html