实验5函数

//计算1!+2!+…+100!。要求定义和调用函数fact(n)计算n的阶乘。
#include<stdio.h>
double fact(int n);
int main(void)
{
    int i,n;
    double y;
    y=0;
    printf("n:");
    scanf("%d",&n);
//调用函数;
    for(i=1;i<=n;i++){
        y=y+fact(i);
    }
    printf("y=%.3f",y);
    return 0;
}
//自定义函数
double fact(int n)
{
    int i;
    double result;

    result=1;
    for(i=1;i<=n;i++)
        result=result*i;
    return result;
}


//编制程序,输入m、n(m≥n≥0)后,计算下列表达式的值并输出。 要求将计算阶乘的运算编写作函数fact(n),函数返回值的类型为float。
#include<stdio.h>
int main(void)
{
    int m,n;
    double y;
    printf("输入m,n:");
    scanf("%d%d",&m,&n);
    float fact(int x);
    if(m<n){
        printf("错误");
    }
    else{
//计算公式
        y=fact(m)/(fact(n)*fact(m-n));
        printf("y=%.3f",y);
    }
    return 0;
}
//调用自定义函数输出x!
float fact(int x)
{
    double result;
    int i;
    result=1;
    for(i=1;i<=x;i++){
        result=i*result;
    }
    return result;
}


 

//输入两个正整数m和n(m<n),求从m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。
#include<stdio.h>
#include<math.h>
int main(void)
{
    int x,m,n,a;
    int prime(int a);
    x=0;
    printf("输入,m,n:");
    scanf("%d%d",&m,&n);
//循环寻找素数
    for(a=m;a<=n;a++){
        if(prime(a)!=0){
            x=x+a;
        }
    }
    printf("x=%d",x);
    return 0;
}
//调用函数,寻找素数
int prime(int a)
{
    int i,n;
    if(a==1)return 0;
    n=sqrt(a);
    for(i=2;i<=n;i++){
        if(a%i==0){
            return 0;
        }
        else
            return 1;
    }
}

原文地址:https://www.cnblogs.com/xuqiongxiang/p/3379968.html