• 实验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 ); }

  • 相关阅读:
    【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数
    oracle死锁解决经常用法(屡试不爽)
    10、Cocos2dx 3.0游戏开发找小三之容器篇:Vector、Map、Value
    程序员再回首
    mysql 下载
    BestCoder Round #4 Miaomiao&#39;s Geometry (暴力)
    SDUT 1941-Friday the Thirteenth(水)
    小白高速变大神,零基础菜鸟应该怎么学编程
    【精】iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)
    无线路由器硬件配置參数 NetGear篇
  • 原文地址:https://www.cnblogs.com/laurenliu1994/p/3379884.html
Copyright © 2020-2023  润新知