使用指针数组对输入的三个整数序列(每个序列5个整数)分别从小到大进行排序
使用指针数组对输入的三个整数序列(每个序列5个整数)分别从小到大进行排序
2010-03-14 12:47
2010-03-14 15:58
程序代码:# 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;
}
2010-03-14 18:05
2010-03-14 18:20
2010-03-14 18:25
2010-03-14 19:08
2010-03-14 19:12
程序代码:# 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;
}
2010-03-14 19:25
2010-03-14 19:38
2010-03-14 19:55