• 第七次


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

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

    总结:函数不能放在另一个函数内。

    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,max,min;
        printf("请输入两个正整数,用,隔开
    ");
        scanf("%d,%d",&a,&b);
        max=gcd(a,b);
        min=lcm(a,b);
        printf("%d,%d
    ",max,min);
        return 0;
    }
    int gcd(int a,int b)
    {
        int c,i;
        for(i=1;i<=a&&i<=b;i++)
        {
            if(a%i==0&&b%i==0)
            {
                c=i;
            }
        }
        return c;
    }
    int lcm(int a,int b)
    {
        int c;
        c=a*b/gcd(a,b);
        return c;
    }

    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<math.h>
    #include <stdio.h> double fun(double x); int main() { double x,y1,y2,y3; printf("请输入一个数 "); scanf("%lf",&x); y1=fun(2); y2=fun(x+15); y3=fun(sin(x)); printf("%lf,%lf,%lf ",y1,y2,y3); return 0; } double fun(double x) { double y; y=x*x-5*x+4; return y; }

    总结:#include <stdio.h>最然不知道他干嘛的,但不加他没法执行程序。

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

    #include<stdio.h>
    int dingyi(int k);
    int main()
    {
        int a,b,c,i,j,k;
        for(i=0;i<=9;i++)
        {
            a=dingyi(i);
            for(j=0;j<=9;j++)
            {
                b=dingyi(j);
                for(k=0;k<=9;k++)
                {
                    c=dingyi(k);
                    if(i+j==k&&a+b+c==12)
                    {
                        printf("%d+%d=%d
    ",i,j,k);
                    }
                }
            }
        }
        return 0;
    }
    int dingyi(int k)
    {
        int c;
        if(k==1)
        {
            c=2;
        }                
        else if(k==2)
        {
            c=5;
        }
        else if(k==3)
        {
            c=5;
        }
        else if(k==4)
        {
            c=4;
        }
        else if(k==5)
        {
            c=5;
        }
        else if(k==6)
        {
            c=6;
        }
        else if(k==7)
        {
            c=3;
        }
        else if(k==8)
        {
            c=7;
        }
        else if(k==9)
        {
            c=6;
        }
        else if(k==0)
        {
            c=6;
        }
        return c;
    }

    总结:感觉还可以在优化。

    二、知识点总结

    1,函数是一个独立的,不能再别的函数里;

    2,一般函数只能实现一种功能;

    3,在开头一定要定义。

  • 相关阅读:
    MySQL改动rootpassword的多种方法
    略论并行处理系统的日志设计
    ERROR (UnicodeEncodeError): 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128
    UnicodeEncodeError: 'ascii' codec can't encode character u'u65e0' in position 1: ordinal not in range(128)
    python -m json.tool 中文乱码 Format JSON with python
    CentOS6.6 zookeeper完全集群搭建
    libvirt kvm云主机监控
    glance image-create
    通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 instance 重启后又会差 8 个小时
    云监控网址
  • 原文地址:https://www.cnblogs.com/web5217/p/6083859.html
Copyright © 2020-2023  润新知