首页 > 代码库 > 2017-02-27

2017-02-27


#include <stdio.h> int main() { int a[10][10]={0},i,j,k; for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; } for(i=2;i<10;i++) { for(j=1;j<=i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<10;i++) { for(k=0;k<10-i;k++) { printf(" "); } for(j=0;j<=i;j++) { printf("%d ",a[i][j]); } printf("\n"); } return 0; }

技术分享

总结:1.注意输出的时候每行怎么输出,因为最初的时候已经赋了初始值所以输出的时候应按照行数输出每行的个数

        2.最初的时候最好要赋初始值防止越界

        3.感觉最后的格式输出的还是不整齐

 

 

条件排序

#include <stdio.h>
int main()
{
    int a[5]={1,9,5,7,2},i,j,k,temp,min;
    
    for(i=0;i<4;i++)
    {
        min=a[i];
        k=i;
        for(j=i;j<5;j++)
        {
            if(min>a[j])
            {
                min=a[j];
                k=j;
            }
        }
        if(min!=a[i])
        {
            temp=a[k];
            a[k]=a[i];
            a[i]=temp;
        }
    
    }
    for(i=0;i<5;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

技术分享

总结:1.循环最多执行N-1次(外层循环)

         2.注意内层循环j是从i开始的,也就是判定过大小后的一个数字开始

         3.交换位置的时候不用循环

 

2017-02-27