使用指针数组对输入的三个整数序列(每个序列5个整数)分别从小到大进行排序
使用指针数组对输入的三个整数序列(每个序列5个整数)分别从小到大进行排序
# include <stdio.h> int main(void) { int a[3][5]; int * p[3] = {a[0], a[1], a[2]}; int i, j, t,tmp; //输入数据 for (i=0; i<3; i++) { printf("第 %d 组数据:\n", i+1); for (j=0; j<5; j++) { printf("第 %d 个数据:", j+1); scanf("%d", *(p+i)+j); } printf("\n"); } //冒泡排序 for (i=0; i<3; i++) { for (j=0; j<4; j++) { for (t=0; t<4; t++) { if ( (*(*(p+i)+t)) < (*(*(p+i)+t+1)) ) { tmp = *(*(p+i)+t); *(*(p+i)+t) = *(*(p+i)+t+1); *(*(p+i)+t+1) = tmp; } } } } //输出数据 for (i=0; i<3; i++) { printf("第 %d 组数据:\n", i+1); for (j=0; j<5; j++) { printf("%d ", *(*(p+i)+j)); } printf("\n"); } return 0; }
# include <stdio.h> # include <stdlib.h> int main(void) { int a[3][5]; int i; int j; int t; int tmp; int * p[3]; p[0] = a[0]; p[1] = a[1]; p[2] = a[2]; /*输入数据*/ for (i=0; i<3; i++) { printf("第 %d 组数据:\n", i+1); for (j=0; j<5; j++) { printf("第 %d 个数据:", j+1); scanf("%d", *(p+i)+j); } printf("\n"); } /*冒泡排序*/ for (i=0; i<3; i++) { for (j=0; j<4; j++) { for (t=0; t<4; t++) { if ( (*(*(p+i)+t)) < (*(*(p+i)+t+1)) ) { tmp = *(*(p+i)+t); *(*(p+i)+t) = *(*(p+i)+t+1); *(*(p+i)+t+1) = tmp; } } } } /*输出数据*/ for (i=0; i<3; i++) { printf("第 %d 组数据:\n", i+1); for (j=0; j<5; j++) { printf("%d ", *(*(p+i)+j)); } printf("\n"); } getch(); return 0; }