// // main.c // 数组排序与二维数组 // // Created by zhangxueming on 15/6/1. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #include <stdio.h> //冒泡排序(从小到大) //9 7 8 5 3 --> 3 5 7 8 9 //第一次排序 //7 9 8 5 3 //7 8 9 5 3 //7 8 5 9 3 //7 8 5 3 9 //第二次排序 //7 8 5 3 9 //7 5 8 3 9 //7 5 3 8 9 //第三次排序 //5 7 3 8 9 //5 3 7 8 9 //第四次排序 //3 5 7 8 9 #define LEN 5 //int main(int argc, const char * argv[]) { // int a[LEN]={}; // //输入数组 // for (int i=0; i<LEN; i++) { // scanf("%d", &a[i]); // } // //冒泡排序 // for (int i=0; i<LEN-1; i++) { // for (int j=0; j<LEN-i-1; j++) { // if (a[j]>a[j+1]) { // int temp= a[j]; // a[j]=a[j+1]; // a[j+1]=temp; // } // } // } // //遍历输出 // for (int i=0; i<LEN; i++) { // printf("%d ", a[i]); // } // printf("\n"); // return 0; //} //选择排序 //9 7 8 5 3 k=4 a[k] a[i] //第一次排序 //3 7 8 5 9 //第二次排序 //3 5 8 7 9 //第三次排序 //3 5 7 8 9 //第四次排序 //3 5 7 8 9 //int main(int argc, const char *argv[]) //{ // int a[LEN]={}; // //输入数组 // for (int i=0; i<LEN; i++) { // scanf("%d", &a[i]); // } // //选择排序 // for (int i=0; i<LEN-1; i++) { // int k=i;//记录最小值下标 // for (int j=i+1; j<LEN; j++) { // if (a[k]>a[j]) { // k=j; // } // } // if (k!=i) { // int temp = a[k]; // a[k]=a[i]; // a[i]=temp; // } // } // //输出数组 // for (int i=0; i<LEN; i++) { // printf("%d ", a[i]) ; // } // printf("\n"); // return 0; //} //插入排序 //9 7 8 5 3 int temp = 7; //第一次排序 //9 9 8 5 3 //7 9 8 5 3 //第二次排序 temp = 8; //7 9 9 5 3 //7 8 9 5 3 //第三次排序 temp = 5; //7 8 9 9 3 //7 8 8 9 3 //7 7 8 9 3 //5 7 8 9 3 //第四次排序 temp = 3; //5 7 8 9 9 //5 7 8 8 9 //5 7 7 8 9 //5 5 7 8 9 //3 5 7 8 9 //int main(int argc,const char *argv[]) //{ // int a[LEN]={}; // for (int i=0; i<LEN; i++) { // scanf("%d", &a[i]); // } // //插入排序 // for (int i=0; i<LEN-1; i++) { // int temp = a[i+1]; // int j=i; // //控制移位 // while (a[j]>temp && j>=0) { // a[j+1]=a[j]; // j--; // } // //插入元素 // a[j+1]=temp; // } // for (int i=0; i<LEN; i++) { // printf("%d ", a[i]); // } // printf("\n"); // // return 0; //} //int a[5] //int a[3][4][5] //二维数组:由一维数组作为元素构成的一维数组 //int a[3][4]; //a[0] a[1] a[2] 是由4个int类型元素构成的数组 //二维数组的初始化 //int main(int argc,const char *argv[]) //{ // int a[3][2]={1,[2][0]=3,4}; // for (int i=0; i<3; i++) { // for (int j=0; j<2; j++) { // printf("%d ", a[i][j]); // } // printf("\n"); // } // return 0; //} //int main(int argc, const char *argv[]) //{ // int a[3][4]={{1,2,3,4}, // { 5,6,7,8}, // { 9,10,11,12}}; // // for (int i=0; i<3; i++) { // for (int j=0; j<4; j++) { // printf("%4d", a[i][j]); // } // printf("\n"); // } // return 0; //} //1 //1 1 //1 2 1 //1 3 3 1 //1 4 6 4 1 //1 5 10 10 5 1 int main(int argc,const char *argv[]) { int a[10][10]={}; for (int i=0; i<10; i++) { for (int j=0; j<=i; j++) { if (j==0 || j==i) { a[i][j]=1; } else { a[i][j]=a[i-1][j]+a[i-1][j-1]; } } } for (int i=0; i<10; i++) { for (int j=0; j<=i; j++) { printf("%4d", a[i][j]); } printf("\n"); } return 0; }
时间: 2024-12-28 23:41:25