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

    一、实验内容        

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

    代码:

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

     程序运行结果:

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

    代码:

    #include<stdio.h>
    int gcd(int m,int n);
    int lcm(int m,int n);
    int main()
    {
        int m,n;
        int gcd(int m,int n);
        printf("请输入两个正整数
    ");
        scanf("%d%d",&m,&n);
        printf("最大公约数为%d
    ",gcd(m,n));
        printf("最小公倍数为%d
    ",lcm(m,n));
        return 0;
    }
    int gcd(int m,int n)
    {
        int c;
        c=m%n;
        while(c!=0)
        {
        m=n;
        n=c;
        c=m%n;
        }
        return n;
    }
    int lcm(int m,int n)
    {
        int c;
        c=m*n/gcd(m,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()
    {
        double x,y1,y2,y3;
        printf("输入x
    ");
        scanf("%lf",&x);
        y1=fun(2);
        y2=fun(x+15);
        y3=fun(sin(x));
        printf("y1=%lf,y2=%lf,y3=%lf",y1,y2,y3);
        return 0;
    }
    double fun(double x)
    {
        double y;
        y=x*x-5*x+4;
        return y;
    }

    程序运行结果:

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

    代码:

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

    程序运行结果:

    二、知识点总结

    1、不要在自定义函数里输入和输出

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

    3、参数传递是单向传递的

    三、实验总结(实验中遇到的问题及解决方法) 

    1、学会简化程序

    2、定义变量时,要注意变量的类型

    3、函数中可以有多个return语句

  • 相关阅读:
    【C#进阶系列】06 类型和成员基础
    纪中5日T1 1564. 旅游
    纪中17日T1 2321. 方程
    纪中17日T2 2322. capacitor
    纪中10日T1 2313. 动态仙人掌
    纪中14日听课小结 图论 最短路 二分图 差分约束
    一个抓猫的游戏 消遣GAME 持续更新中!
    洛谷P1464 Function  HDU P1579 Function Run Fun
    洛谷P1976 鸡蛋饼
    纪中12日T1 2307. 选择
  • 原文地址:https://www.cnblogs.com/chenqiu/p/6067462.html
Copyright © 2011-2022 走看看