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

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

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

     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 num1,num2;
        printf("请输入两个正整数,用空格隔开。
    ");
        scanf("%d%d",&num1,&num2);
        while(num1<=0||num2<=0)
        {
            printf("输入错误,请重新输入。
    ");
            scanf("%d%d",&num1,&num2);
        }
        printf("最大公约数为%d,最小公倍数为%d。
    ",gcd(num1,num2),lcm(num1,num2));
    }
    int gcd(int a,int b)
    {
        int x,c;
        if(b>a)
        {
            x=b;
            b=a;
            a=x;
        }
        while(1)
        {
            c=a%b;
            if(c==0)
            {
                break;
            }
            a=b;
            b=c;
        }
        return b;
    }
    int lcm(int a,int b)
    {    int d;
        d=gcd(a,b);
        return (a*b/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的值。

       样例:

       y1=-2, x=0.5时,y2=166.75,y3=1.832721

    #include<stdio.h>
    #include<math.h>
    double fun(double x);
    int main()
    {
        int y1;
        double x,y2,y3;
        printf("x*x-5*x+4,请输入x的值。
    ");
        scanf("%lf",&x);
        y1=fun(2);
        y2=fun(x+15);
        y3=fun(sin(x));
        printf("y1=%d,x=%lf,y2=%.2lf,y3=%.6lf
    ",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 number(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(number(a)+number(b)+number(c)==12)
            {
                printf("%d+%d=%d
    ",a,b,c);
            }
        }
        return 0;
    }
    int number(int a)
    {
        int A;
        switch(a)
        {
        case 0:
        case 6:
        case 9:A=6;break;
        case 1:A=2;break;
        case 2:
        case 3:
        case 5:A=5;break;
        case 4:A=4;break;
        case 7:A=3;break;
        case 8:A=7;break;
        }
        return A;
    }

      二、知识点总结

    1.函数定义的基本格式:

    函数类型(函数返回值类型 缺省int型 无分返回值void) 函数名--(合法标示符)(形参类型说明表)

    {

            说明部分

            语句部分   ----函数体

    }

    函数定义和函数原型(声明)的区别:

    (1)函数的返回语句形式

                return(表达式);或return 表达式;

    (2)函数中可以有多个return语句

    2. 函数的调用方式

    (1)函数无返回值时,单独作为一个函数调用语句

    (2)函数又返回值时,可放到一个赋值表达式语句中;还可放到一个函数调用语句中,作为另一个函数的参数

    3.形式参数:定义函数时函数名后面括号中的变量名

      实行参数:调用函数时函数名后面括号中的表达式

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

    1.声明函数后面丢掉了分号,导致错误;

    2.多个case可以公用一组执行语句,可以使程序更简单

  • 相关阅读:
    Blank page instead of the SharePoint Central Administration site
    BizTalk 2010 BAM Configure
    Use ODBA with Visio 2007
    Handling SOAP Exceptions in BizTalk Orchestrations
    BizTalk与WebMethods之间的EDI交换
    Append messages in BizTalk
    FTP protocol commands
    Using Dynamic Maps in BizTalk(From CodeProject)
    Synchronous To Asynchronous Flows Without An Orchestration的简单实现
    WSE3 and "Action for ultimate recipient is required but not present in the message."
  • 原文地址:https://www.cnblogs.com/-lyf/p/6081800.html
Copyright © 2011-2022 走看看