zoukankan      html  css  js  c++  java
  • 实验5 函数

    /*计算1!+2!+…+100!*/
    #include<stdio.h> double fact (int n); //定义fact函数求阶乘
    int main(void) { int n; double sum; //用sum求和,令初始值为0
    sum
    =0; for(n=1;n<=100;n++) sum=sum+fact(n); printf("%.2f ",sum); return 0; } double fact(int n) //调用fact函数函数
    {
    int i; double product; product=1; for(i=1;i<=n;i++) product=product*i; //上一次调用的值再乘i,计算出下一个数的阶乘
    return product; }

     

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

    /* 计算下列表达式的值并输出 */
    #include<stdio.h> double fact(int x); //设定自定义函数
    int main(void) { int m,n; double sum; printf("please enter m and n(m>n): "); scanf_s("%d%d",&m,&n); //输入m和n的值
    sum
    =fact(m)/fact(n)*fact(m-n); //公式
    printf(
    "%f ",sum); } double fact(int x){ //fact函数求阶乘
    int i; double y; y=1; for(i=1;i<=x;i++){ y=y*i; } return y; }

     

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

    /* 求从m到n之间(包括m和n)所有素数的和 */
    #include<stdio.h> int main(void) { int m,n; int is_prime(int x); //定义 is_prime函数判断是否为素数
    int sum=0; printf("请输入两个正整数m,n(m<n): "); scanf_s("%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、验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6 = 3 + 3,8 = 3 + 5,…,18 = 7 + 11。将6~100之间的每个偶数都表示成两个素数之和。函数prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

    /* 验证哥德巴赫猜想 */
    #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 ); }

  • 相关阅读:
    vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client
    SQL Server2014 SP2新增的数据库克隆功能
    看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
    Windows Server 2012 NIC Teaming 网卡绑定介绍及注意事项
    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
    基于本地存储的kvm虚拟机在线迁移
    SQL Server 数据加密功能解析
    android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)
    Datazen介绍
    jquery智能弹出层,自己主动推断位置
  • 原文地址:https://www.cnblogs.com/laurenliu1994/p/3379884.html
Copyright © 2011-2022 走看看