• 第七次作业


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

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

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

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    int gcd(int a,int b);
    int lcm(int a,int b);
    int main()
    {
        int a,b,m,n;
        printf("请输入两个整数
    ");
        scanf("%d,%d",&a,&b);
        m=gcd(a,b);
        n=lcm(a,b);
        printf("%d,%d",m,n);
        return 0;
    }
    int gcd(int a,int b)
    {
        int i;
        do
        {
            i=a%b;
            a=b;
            b=i;
        }while(i!=0);
            return a;
    }
    
    int lcm(int a,int b)
    {
        int f;
        f=a*b/gcd(a,b);
        return f;
    }

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

    #include<stdio.h>
    #include<math.h>
    double fun(double n);
    double fun(double n)
    {
        double m;
        m=n*n-5*n+4;
        return m;
    }
    int main()
    {
        double i,j,k,n;
        printf("请输入n
    ");
        scanf("%lf",&n);
        i=fun(2);
        j=fun(n+15);
        k=fun(sin(n));
        printf("当i=%lf,n=%lf时,j=%lf,k=%lf",i,n,j,k);
        return 0;
    }

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

    #include<stdio.h>
    int gen(int l);
    int gen(int l)
    {
        switch(l)
        {
        case 0:l=6;
        case 6:l=6;
        case 9:l=6;break;
        case 1:l=2;break;
        case 2:l=5;
        case 3:l=5;
        case 5:l=5;break;
        case 4:l=4;break;
        case 7:l=3;break;
        case 8:l=7;break;
        }
        return l;              
    }
    int main()
    {
        int i,j,k,l,m,n;
        for(i=0;i<=9;i++)
            for(j=0;j<=9;j++)
                for(k=0;k<=9;k++)
                {
                    if(k==i+j&&gen(i)+gen(j)+gen(k)==12)
                    {
                        printf("%d+%d=%d ",i,j,k);
                    }
                        
                }
        return 0;
    }

    实验总结:

    函数,在前面应定要加一个主函数

    do   while的while后面有一个;

    用switch的时候,如果结果是相同的,可以写到一起,只写一个

    函数,要看清,到底要返回的是什么

    不要忘了,在主函数中要定义变量

    知识总结:

    函数名

    {

    声明部分

    语句部分

    }

    合法标示符:字母,数字,下划线

    函数的返回类型:缺省int 型,无返回值void型

    函数体是由大括号括起来的语句序列,用于完成函数要实现的功能

  • 相关阅读:
    第三章读书笔记
    第二章读书笔记
    第一章读书笔记
    第四章读书笔记
    《android深入探索》第一章心得
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    C语言I博客作业4
    C语言博客作业3
  • 原文地址:https://www.cnblogs.com/xuan0826/p/6082883.html
Copyright © 2020-2023  润新知