zoukankan      html  css  js  c++  java
  • 第七次

    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,在开头一定要定义。

  • 相关阅读:
    设计模式享元模式实现C++
    并查集
    设计模式代理模式实现C++
    设计模式装饰模式实现C++
    最小生成树Prim算法实现
    图的邻接矩阵存储
    威佐夫博弈(Wythoff Game)初识 HDU 1527 POJ 1067
    设计模式原型模式实现C++
    三种经典博弈问题 BashGame;WythoffGame;NimmGame;
    设计模式外观模式实现C++
  • 原文地址:https://www.cnblogs.com/web5217/p/6083859.html
Copyright © 2011-2022 走看看