C语言用指向指针的指针对n个整数排序

C语言用指向指针的指针的方法对n个整数排序并输出;要求将排序单独写成一个函数;n个整数在主函数中输入,最后在主函数中输出。 

解题思路:读者看着道题的时候,首先要观察一下有什么规律,然后指向指针的指针在上一道练习题中已经有了铺垫,读者可以联系上一道题去熟练使用指向指针的指针。

C语言源代码演示:

#include<stdio.h>//头文件
int main()//主函数
{
  void sort(int **point,int number); //sort排序函数声明
  int i,number,data[20],**point,*pstr[20]; //定义变量
  printf("输入要排序的个数number:");//提示语句
  scanf("%d",&number);//键盘输入
  for(i=0;i<number;i++)
  {
    pstr[i]=&data[i]; //将第i个整数的地址赋予指针数组pstr的第i个元素
  }
  printf("逐个输入这%d个数:",number);//提示语句
  for(i=0;i<number;i++)
  {
    scanf("%d",pstr[i]);//挨个输入要排序的数
  }
  point=pstr;
  sort(point,number);
  printf("\n-------------------\n"); //提示语句
  printf("输出结果:\n");//提示语句
  for(i=0;i<number;i++)
  {
    printf("%d ",*pstr[i]);//输出排序后的结果
  }
  printf("\n");//换行
  return 0;//主函数返回值为0
}
void sort(int **point,int number)//自定义sort排序函数
{
  int i,j,*temp;//定义变量
  for(i=0;i<number-1;i++)
  {
    for(j=i+1;j<number;j++)
    {
      if(**(point+i)>**(point+j))//比较之后交换整数地址
      {
        temp=*(point+i);
        *(point+i)=*(point+j);
        *(point+j)=temp;
      }
    }
  }
}

编译运行结果:

输入要排序的个数number:3
逐个输入这3个数:1 8 5

-------------------
输出结果:
1 5 8

--------------------------------
Process exited after 6.278 seconds with return value 0
请按任意键继续. . .

 
今天的分享就到这里了,大家要好好学C语言/C++哟~
写在最后:对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

C语言C++编程学习交流圈子,QQ群:763855696【点击进入】

C语言从入门到精通(C语言入门C语言教程C语言零基础C语言基础C语言学习C

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
编程学习视频分享:

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值