• 第七次作业


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

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

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

    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    int gcd(int a,int b);
    int lcm(int a,int b);
    int main()
    {
        int a,b,i,j;
        printf("请输入两个正整数");
        scanf("%d,%d",&a,&b);
        i=gcd(a,b);
        j=lcm(a,b);
        printf("最大公约数是%d,最小公倍数是%d",i,j);
        return 0;
    }
    int gcd(int a,int b)
    {
        int c;
        do
        {
            c=a%b;
            a=b;
            b=c;
        }while(c!=0);
        return a;
    }
    int lcm(int a,int b)
    {
        int d;
        d=a*b/gcd(a,b);
        return d;
    }

    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的值。

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

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

    #include<stdio.h>
    int gun(int i);
    int main()
    {
        int x,y,z;
        for(x=0;x<=9;x++)
        for(y=0;y<=9;y++)
        {
            z=x+y;
            if(z>9)
            break;
            if(gun(x)+gun(y)+gun(z)==12)
            {
                printf("%d+%d=%d
    ",x,y,z);
            }
        }
        return 0;
    }
    int gun(int i)
    {
        int a;
        switch(i)
        {
          case 0:a=6;
          case 6:a=6;
          case 9:a=6;break;
          case 2:a=5;
          case 3:a=5;
          case 5:a=5;break;
          case 1:a=2;break;
          case 4:a=4;break;
          case 7:a=3;break;
          case 8:a=7;break;
        }
        return a;
    }

    知识点总结:一个函数最多只能返回一个值。

                       一般情况下,函数不应该有输入输出语句。

                        C语言不允许函数嵌套。

                         实参与形参的个数应该相等,类型应一致。

    实验总结:声明函数后面不要丢掉分号

                   定义变量时,要注意变量的类型(整型,float类型,double类型)

                     

  • 相关阅读:
    常用数据库排名及分类介绍
    Python之jinja2模板引擎生成HTML
    ResNet网络结构详解与模型的搭建
    window.location各属性
    php练习算法1000题
    在C#中使用 SendMessage 实现操作外部其他程序上的控件教程
    .net 使用FtpClient进行附件的上传
    Exp5 信息搜集与漏洞扫描
    Git 日志提交规范
    [Javascript摸鱼记录] 关于js简单字符删减替换增加插入追加前中后处理
  • 原文地址:https://www.cnblogs.com/zpl0120/p/6080609.html
Copyright © 2020-2023  润新知