• 第七次作业


    1. 定义一个判断素数的函数isprime(int n),利用该函数输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)

    #include <stdio.h>
    int isprime(int x);
    int main()
    {
        int x,n=0;
        for(x=2;x<=1000;x++)
        {
           if(isprime(x))
           {    
           printf("%4d",x);
           n++;
           if(n%10==0)
           {printf("
    ");}
           }
        }
        printf("一共有%d个素数",n);
        return 0;
    }
    
    int isprime(int m)
    {
        int i;
        for(i=2;i<=m-1;i++)
            {   
            if(m%i==0)  
            return 0;
            else if(m==i)
            return m;
        }
    } 

        2.求两个正整数的最大公约数和最小公倍数。用一个函数gcd(int a,int b)求最大公约数,另一个函数lcm(int a,int b)根据求出的最大公约数求最小公倍数。

    # include <stdio.h>
    int gcd(int a,int b);
    int lcm(int a,int b); 
    int main()
    {
        int a,b,igcd,ilcm;
        printf("请输入两个正整数:");
        scanf("%d%d",&a,&b);
        if(a>0&&b>0)
        { 
        printf("%d与%d的最大公约数是%d,最小公倍数是%d
    ",a,b,gcd(a,b),lcm(a,b)); 
        }
        else 
        printf("输入的数据有误"); 
        return 0;
     }
     int gcd(int a,int b)
     {
         int i;
         if(a<b)
         {
             i=b;
             b=a;
             a=i;
         }
         while(i!=0)
         {
             i=a%b;
             a=b;
             b=i;
         }
        return a;
     }
     int lcm(int a,int b)
     {
         int m,n;
         m=gcd(a,b);
         n=a*b/m;
         return n;
     }

       3.编写一个函数fun(double x)求表达式x2-5x+4的值,x作为参数传给函数。在主函数中调用该函数求下列式子的值:

           y1= 22-5*2+4

           y2= (x+15)2-5*(x+15)+4

           y3= sin2x-5*sinx+4    

       求y3用数学函数 sin(x)  头文件math.h

       求解y2和y3时需要输入x的值。

       样例:

       y1=-2, x=0.5时,y2=166.75,y3=1.832721

    #include <stdio.h>
    #include <math.h>
    double fun(double x);
    int main()
    {
        float x,y1,y2,y3;
        printf("请输入x的值:");
        scanf("%f",&x);
        y1=fun(2);
        y2=fun(x+15);
        y3=fun(sin(x));
        printf("y1=%.5f
    y2=%.5f
    y3=%.5f
    ",y1,y2,y3);
        return 0;
    }
    
    double fun(double x)
    {
        double y;
        y=x*x-5*x+4;
        return y;
    }

    4.用函数实现:火柴棍等式问题。

    #include <stdio.h>
    int fun(int a);
    int main()
    {
        int a,b,c,a1,b1,c1;
        for(a=0;a<=9;a++)
        {
            for(b=0;b<=9;b++)
            {
                for(c=0;c<=9;c++)
                {
                if(a+b==c&&fun(a)+fun(b)+fun(c)==12)
                {
                    printf("%d+%d=%d
    ",a,b,c);
                }
                }
            }
        }
        return 0;
     } 
     int fun(int x)
     {
         int a;
             switch(x)
                    {
                        case 1: a=2; break;
                        case 2:
                        case 3:
                        case 5: a=5; break;
                        case 4: a=4; break;
                        case 6:
                        case 9: 
                        case 0: a=6; break;
                        case 7: a=3; break;
                        case 8: a=7; break;
                    }
        return a;
     }

    知识点总结

    1函数名为合法标识符

    2函数中不能再嵌套其他自定义函数

    3函数原型仅起声明作用

    实验总结

    1函数原型后应加分号

    2自定义函数中定义的参数并不会与主函数中的参数冲突

  • 相关阅读:
    qemu-img check命令详解
    cinder migrate基础内容-1
    lvm常用指令
    ceph 快照,克隆
    http请求工作流程
    Python 生成二维码
    python 往 elasticsearch 存入数据时,文档字段类型问题注意事项
    python 往 elasticsearch 存入数据,然后通过kinaba 检索分析
    git 删除某次提交
    git 强制回滚【覆盖】远程 源码库
  • 原文地址:https://www.cnblogs.com/UUZsama/p/6078097.html
Copyright © 2020-2023  润新知