0603 c语言函数

2016年06月02日学习日记c语言函数
函数目的:
1、代码复用
2、分解功能使代码清晰
3、易于维护(2次开发)
4、代码规范
子模块就做一件事情
函数形势 函数:函数头、函数体
return-type function-name (argument list)
{
function body
}
eg:int main(int argh,const char *argv[])
{}
函数使用:
1、函数声明
2、函数调用
3、函数实现
函数参数:形式参数、实际参数
形參:声明函数,定义的参数
实參:调用函数传递的参数

函数返回值:结果(函数加工。最终得到的一个值)

函数传值方式:
1、值传递
2、指针传递
3、引用传递(c++特性)

//1、键盘键入一个5*5(二维数组)整形数组,找出其中最小数(稍微考虑一下效率)

#include <stdio.h>
int main()
{
    int s[5][5],min=0;
    for (int i=0; i<5; i++)
    {
        for (int j=0; j<5; j++)
        {
            if (i==0&&j==0)
            {
                printf("请输入s[0][0]:\n");
                scanf("%d",&s[0][0]);
                min=s[0][0];
            }
            else
            {
            printf("请输入s[%d][%d]:\n",i,j);
            scanf("%d",&s[j]);
            min=min<s[j]?min:s[j];
            }
        }
    }
    printf("最小值为%d",min);
    return 0;

//2、自定义函数,用户scanf一个整数,?求平方

#include <stdio.h>
int p()
{
    int n;
    printf("please input a interger\n");
    scanf("%d",&n);
    return n*n;
}
int main()
{
    printf("%d\n",p());
    return 0;
}

// 3、编写2个函数max,min 分别计算三个数中的 ?最大数,最小数,

include “stdio.h”

#define max(a,b,c) ((a)>(b))?((a)>(c)?(a)c))(b)>(c)?(b)c))
#define min(a,b,c) ((a)<(b))?((a)<(c)?(a)c))(b)<(c)?(b)c))
double d(double a,double b,double c)
{
    return (max(a,b,c));
}
double x(double a,double b,double c)
{
    return min(a,b,c);
}
int main()
{
    double a,b,c;
    printf("请输入要求的三位数\n");
    scanf("%lf%lf%lf",&a,&b,&c);
    printf("最大值为");
    printf("%f",d(a,b,c));
    printf("最小值为");
    printf("%f",x(a,b,c));
    return 0;
}

// 4、定义一个函数,scanf一个整数,?求阶乘

#include <stdio.h>
long j(long n)
{
    long s=1;
      for(long i=1;i<=n;i++)
    {
        s=s*i;
    }
    return s;

}
int main()
{
    long n;
    printf("请输入n:\n");
    scanf("%ld",&n);
    printf("%ld阶乘为:%ld\n",n,j(n));
    return 0;
}

// 5、scanf一个5到10位的正整数,?求它是几位数,逆序打印出各位数字

#include "stdio.h"
int main()
{
    long n=0;
    int m=0;
    while (m<5||m>10)
    {
        m=0;
        printf("请输入一个5到10位的正整数\n");
        scanf("%ld",&n);
        if(n==0) m=1;
        else if (n<0)
        {
            n=-n;
        }
        for (int i=1;n/i*10.0>1;i*=10)
        {
            m++;
        }
        printf("它是%d位数\n",m);
    }
    printf("逆序输出:\n");
    while(n)
    {
        int m;
        m=n%10;
        n/=10;
        printf("%d",m);
    }
    return 0;
}

//打印出以下图形
正方形
****
****
****
****

三角形

**
***
****
平行四边形
****
****
****
****

菱形(显示有误,其实是一个13531的菱形)

***
** ***
***

#include "stdio.h"
void zfx()//正方形
{
    for (int i=0; i<4; i++)
    {
        for (int j=0; j<4; j++)
        {
            printf("*");
            if (j==3)
            {
                printf("\n");
            }
        }
    }
}
void sjx()//三角形
{
    for (int i=0; i<=3; i++)
    {
        for (int j=0; j<=i; j++)
        {
            printf("*");
            if (j==i) printf("\n");
        }
    }
}
void sbx()//四边形
{
    for (int i=0; i<=3; i++)
    {
        for (int j=0; j<=i; j++)
        {
            printf(" ");
            if (j==i) printf("****\n");
        }
    }
}
void lx()//菱形
{
    for (int i=1; i<=3; i++)
    {
        int m=3-i;
        for (int k=1; k<=m; k++)
                {
                    printf(" ");
                }

                for (int k=1; k<=2*i-1; k++)
                {
                    printf("*");
                }
        printf("\n");
    }
    for (int i=1; i<=2; i++)
    {
        for (int k=1; k<=i; k++)
        {
            printf(" ");
        }

        for (int k=3; k>=2*i-1; k--)
        {
            printf("*");
        }
        printf("\n");
    }
}
int main()
{
    zfx();
    sjx();
    sbx();
    lx();
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值