题目
解决代码及点评
/*
10、用指向指针的指针的方法对N个整数排序并输出。
要求排序单独写成一个函数。N个整数和N在主程序中输入,最后在主函数中输出。
*/
#include <stdio.h>
#include <stdlib.h>
#define N 10
void main()
{
int num[N], *pnum[N], **pp;
for(int i=0;i<10;i++) // 初始化数组,赋值N个100以内整数,让pnum指向对应的值
{
num[i]=rand()%100;
printf("%d\t",num[i]);
pnum[i] = &num[i];
}
pp = pnum; // 双重指针pp指向pnum
for(int i=0;i<10;i++) // 使用冒泡排序
for(int j=i+1;j<10;j++)
{
if(**(pp+i)>=**(pp+j))
{ // 交换两个元素的值
int temp = **(pp+i);
**(pp+i) = **(pp+j);
**(pp+j) = temp;
}
}
for(int i=0;i<10;i++) // 打印排序后的结果
printf("%d\t",**(pp+i));
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果