19-12-26培训内容

一.上午培训内容


#include<stdio.h>

int main()

{

    int a[5][5]={1,2,3,4,5,6,7,8,9); //一行五个多出来的向下一行存储

    int i,j;

    for(i=0;i<4;i++)

    {

        for(j=0;j<5;j++)

        {

            printf("%d ",a[i][j]);

        }

        printf("\n");

    }

    fun(a[0]) //传递第一行一整行

}


int a[4][5]={{1},2,3,4,5,6,7,8,9}; //第一行只有一个1,其余补0

a[0][0]与a[0][1]差四个字节


#include<stdio.h>

int main()

{

    char ss[3][10]={"abcd","fghjk","rtyu"};

    puts(ss[0]); //puts输出一条字符串

    printf("%c",ss[0][2]);

}


二.下午培训内容

//第一题:行求和,列求最大值

/*

#include<stdio.h>

int main()

{

    int a[3][4]={1,3,2,6,4,5,7,8,9,4,2,8};

    int i,j;

    int sum[3]={0};

    int max[4]={0};

    for(i=0;i<3;i++)

    {

        for(j=0;j<4;j++)

        {

            sum[i]+=a[i][j];

        }

    }

    for(j=0;j<4;j++)

    {

        for(i=0;i<3;i++)

        {

            if(max[j]<a[i][j])

            {

                max[j]=a[i][j];

            }

        }

    }

    for(i=0;i<3;i++)

    {

        printf("第%d行的和是:%d\n",i+1,sum[i]);

    }

    for(j=0;j<4;j++)

    {

        printf("第%d列的最大值是%d\n",j+1,max[j]);

    }

}

*/

//第二题;行排序

/*

#include<stdio.h>

int main()

{

    int a[3][4]={1,3,2,6,4,5,7,8,9,4,2,8};

    int i,j,l;

    int m;

    for(i=0;i<3;i++)

    {

        for(l=0;l<3;l++)

        {

            for(j=0;j<3;j++)

            {

                if(a[i][j]>a[i][j+1])

                {

                    m=a[i][j];

                    a[i][j]=a[i][j+1];

                    a[i][j+1] =m;

                }

            }

        }

    }

    for(i=0;i<3;i++)

    {

        for(j=0;j<4;j++)

        {

            printf("%d ",a[i][j]);

        }

        printf("\n");

    }

}

*/

//第三题:已知一个6*6的矩阵,把矩阵二条对角线上的元素值加上10,输出这个新矩阵。

/*

#include<stdio.h>

int main()

{

    int a[6][6]={0};

    int i,j;

    for(i=0;i<6;i++)

    {

        for(j=0;j<6;j++)

        {

            if(i==j)

            {

                a[i][j]+=10;

            }

            if(i+j==5)

            {

                a[i][j]+=10;

            }

        }

    }

    for(i=0;i<6;i++)

    {

        for(j=0;j<6;j++)

        {

            printf("%2d ",a[i][j]);

        }

        printf("\n");

    }

}

*/

//第四题:打印杨辉三角形的前10行。

/*

#include<stdio.h>

int main()

{

    int a[10][10]={0};

    int i,j,m;

    for(i=0;i<10;i++)

    {

        for(j=0;j<10;j++)

        {

            if(i==j||j==0)

            {

                a[i][j]=1;

            }

            if(i>1&&i>j)

            {

                a[i][j]=a[i-1][j-1]+a[i-1][j];

            }

        }

    }

    for(i=0;i<10;i++)

    {

        for(m=0;m+i<10;m++)

        {

            printf("  ");

        }

        for(j=0;j<=i;j++)

        {

            printf("%4d",a[i][j]);

        }

        printf("\n");

    }

}

*/

//第五题:矩阵交换行

/*

#include<stdio.h>

int a[6][5]={0};

int s;

int c;

int fun();

int main()

{

    int i;

    int j;

    printf("输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。\n第6行包含两个整数m、n,

            以一个空格分开(1 <= m,n <= 5)。\n将第n行和第m行交换,输出交换后的结果。\n");

    for(i=0;i<5;i++)

    {

        for(j=0;j<5;j++)

        {

            scanf("%d",&a[i][j]);

        }

    }

    scanf("%d""%d",&a[5][0],&a[5][1]);

    fun();

    printf("第%d行和第%d行互换之后的矩阵是:\n",s+1,c+1);

    for(i=0;i<5;i++)

    {

        for(j=0;j<5;j++)

        {

            printf("%2d ",a[i][j]);

        }

        printf("\n");

    }

}

int fun()

{

    int i;

    int j;

    s=a[5][0]-1;

    c=a[5][1]-1;

    for(j=0;j<5;j++)

    {

        a[5][j]=a[s][j];

        a[s][j]=a[c][j];

        a[c][j]=a[5][j];

    }

}

*/

//第六题:求二维数组3*3的{10,12,13,14,15,16,17,18,19}对角线元素的和

/*

#include<stdio.h>

int a[3][3]={10,12,13,14,15,16,17,18,19};

int s=0;

int fun();

int main()

{

    fun();

    printf("两条对角线上所有元素加一起的和是:%d\n",s);

}

int fun()

{

    int i;

    int j;

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

        {

            if(j==i||i+j==2)

            {

                s=s+a[i][j];

            }

        }

    }

}

*/

//第七题:找出4*4数组中,最大元素位置

/*

#include<stdio.h>

int a[4][4]={0};

int b,c;

int fun();

int main()

{

    int i;

    int j;

    printf("请输入四行四列,每行输入完成按回车:\n");

    for(i=0;i<4;i++)

    {

        for(j=0;j<4;j++)

        {

            scanf("%d",&a[i][j]);

        }

    }

    fun();

    printf("第%d行,第%d列就是最大的元素\n",b+1,c+1);

}

int fun()

{

    int i;

    int j;

    int s=0;

    for(i=0;i<4;i++)

    {

        for(j=0;j<4;j++)

        {

            if(a[i][j]>s)

            {

                s=a[i][j];

                b=i;

                c=j;

            }

        }

    }

}

*/

//第八题: 输入某年某月某日,判断这一天是这一年的第几天

/*

#include<stdio.h>

int a[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};

int n,y,r;

int fun();

int bufun();

int main()

{

    printf("请输入年月日,用空格隔开:");

    scanf("%d%d%d",&n,&y,&r);

    if(n%4==0)

    {

        if(n%100==0&&n%400!=0)

        {

            bufun();

        }

        else

        {

            fun();

        }

    }

    else

    {

        bufun();

    }

}

int fun()

{

    int i;

    int s=0;

    for(i=0;i<y-1;i++)

    {

        s=s+a[1][i];

    }

    printf("%d月%d日是%d年的第%d天\n",y,r,n,s+r);

}

int bufun()

{

    int i;

    int s=0;

    for(i=0;i<y-1;i++)

    {

        s=s+a[0][i];

    }

    printf("%d月%d日是%d年的第%d天\n",y,r,n,s+r);

}

*/

//第九题: 输入某年某月某日,判断这一天到今天一共有多少天

/*

#include<stdio.h>

int n,y,r;

int fun();

int bufun();

int veryfun();

int verybufun();

int henfun();

int henbufun();

int s1=0,s2=0;

int a[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};

int jinn,jiny,jinr;

int main()

{

    printf("请输入年月日,用空格隔开:");

    scanf("%d%d%d",&n,&y,&r);

    printf("请输入今年今月今日,用空格隔开:");

    scanf("%d%d%d",&jinn,&jiny,&jinr);

    veryfun();

    verybufun();

    if(n%4==0)

    {

        if(n%100==0&&n%400!=0)

        {

            bufun();

        }

        else

        {

            fun();

        }

    }

    else

    {

        bufun();

    }

    if(jinn%4==0)

    {

        if(jinn%100==0&&jinn%400!=0)

        {

            henbufun();

        }

        else

        {

            henfun();

        }

    }

    else

    {

        henbufun();

    }

    if(s2>s1)

        printf("中间隔了%d天",s2-s1);

    else

        printf("中间隔了%d天",s1-s2);

}

int veryfun()

{

    s1=(n-1)*365+(n-1)/4-(n-1)/100+(n-1)/400;

}

 int verybufun()

{

    s2=(jinn-1)*365+(jinn-1)/4-(jinn-1)/100+(jinn-1)/400;

}

int fun()

    {

        int i;

        for(i=0;i<y-1;i++)

        {

            s1=s1+a[1][i];

        }

        s1=s1+r;

}

int bufun()

{

    int i;

    for(i=0;i<y-1;i++)

    {

        s1=s1+a[0][i];

    }

    s1=s1+r;

}

int henfun()

{

    int i;

    for(i=0;i<jiny-1;i++)

    {

        s2=s2+a[1][i];

    }

    s2=s2+jinr;

}

int henbufun()

{

    int i;

    for(i=0;i<jiny-1;i++)

    {

        s2=s2+a[0][i];

    }

    s2=s2+jinr;

}

*/

//第十题:将一个正整数分解质因数。例如:输入90,打印出:90=2*3*3*5

/*

#include <stdio.h>

int main()

{

    int n;  // 用户输入的整数

    int i;  // 循环标志

    printf("输入一个整数:");

    scanf("%d",&n);

    printf("%d=",n);

    // n>=2才执行下面的循环

    for(i=2; i<=n; i++)

    {

        while(n!=i)

        {

            if(n%i==0)

            {

                printf("%d*",i);

                n=n/i;

            }

            else

                break;

        }

    }

    printf("%d\n",n);

    return 0;

}

*/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,783评论 0 2
  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 13,645评论 3 71
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,604评论 0 3
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 9,559评论 2 13
  • C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:...
    Poison_19ce阅读 4,927评论 0 0