实验五 函数

1

//计算1!+2!+…+100!。要求定义和调用函数fact(n)计算n的阶乘
#include<stdio.h> double fact(int n); int main(void) { int i; double sum; sum=0; for(i=1;i<=100;i++) sum=sum+fact(i); printf("1!+2!+...+100!=%e ",sum); return 0; } double fact(int n) { int i; double result; 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 n); main(void) { int m,n; float value,sum; printf("Enter m and n"); scanf("%d%d", &m, &n); sum=fact(m-n); value=fact(m)/(fact(n)*sum); printf("value=%f ", value); return 0; } float fact(int n) { int i; float result=1; for(i=1; i<=n; i++) result=result*i; return result; }

3

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

    int is_prime(int x){
    int tmp=x/2;             //一个数若不能被它的1/2内的所有数整除,就是素数,也可用平方根求    
    int i;
    for(i=2;i<=tmp;i++)
    {
        if(x%i==0)           //若能被整除,即不是素数,结果返回0            
            return 0;
    }
    return 1;                  //是素数则返回1
    }

4

//验证哥德巴赫猜想 
#include<stdio.h>
int prime(int m);
int main(void)
{
    int a,b,i;
    for(i=6;i<=100;i+=2){    //当i大于6小于等于100时开始循环,因为是偶数所以每次增加2        
        for(a=2;a<=i;a++){   //设置其中一个素数,则另一个等于总数-该素数           
            b=i-a;
        if (prime(a)&&prime(b)){  //当a和b都为素数时,输出结果          
            printf("%d=%d+%d     ",i,a,b);
            if(i%5==0)            //每行显示5个             
                printf("
");
            break;
        }
    }
}
}
int prime(int m)       // 调用prime函数,求素数
{  
    int  n ;   
    for( n=2; n<=m/2; n++) 
        if ( m%n==0)  
            break;    
    return  ( n>m/2 );
}

5

原文地址:https://www.cnblogs.com/liyang1995/p/3380049.html