前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C语言用指针对10个数排序

C语言用指针对10个数排序

原创
作者头像
小林C语言
修改于 2020-12-11 09:46:06
修改于 2020-12-11 09:46:06
2.8K00
代码可运行
举报
运行总次数:0
代码可运行

例31:C语言用指针方法对10个整数按由大到小顺序排序。

解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort将数组中的元素按由大到小排序。

排序函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void sort(int x[],int n)//自定义排序函数 
{
  int i,j,k,t;//定义整型变量 
  for(i=0;i<9;i++)//外层for循环 
  {
    k=i;//把i的值赋给k 
    for(j=1+i;j<10;j++)//内层for循环 
    {
      if(x[j]>x[k])//如果前一个数大 
      {
        k=j;
      } 
    } 
    t=x[k]; //赋值 
    x[k]=x[i];
    x[i]=t;
  }
}

源代码演示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>//头文件 
int main()//主函数 
{
  void sort(int x[],int n);//函数声明 
  int i,*p,a[10];//定义整型变量、指针变量、数组 
  p=a;//读者需要注意这里a赋值 
  printf("请输入十个数:");//提示语句 
  for(i=0;i<10;i++)//输入10个数 
  {
    scanf("%d,",p++);//注意每个数之间用英文逗号隔开 
  } 
  p=a;//读者需要注意这里a赋值 
  sort(a,10);//调用sort排序 
  printf("由大到小排序后的:");//提示语句 
  for(p=a,i=0;i<10;i++)//输出排序后的数 
  {
    printf("%d ",*p);
    p++;
  }
  printf("\n");//换行 
  return 0;//主函数返回值为0 
}
void sort(int x[],int n)//自定义排序函数 
{
  int i,j,k,t;//定义整型变量 
  for(i=0;i<9;i++)//外层for循环 
  {
    k=i;//把i的值赋给k 
    for(j=1+i;j<10;j++)//内层for循环 
    {
      if(x[j]>x[k])//如果前一个数大 
      {
        k=j;
      } 
    } 
    t=x[k]; //赋值 
    x[k]=x[i];
    x[i]=t;
  }
}

编译运行结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
请输入十个数:0,4,6,1,8,12,78,34,67,4
由大到小排序后的:78 67 34 12 8 6 4 4 1 0

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

读者需要注意上述小林scanf函数用的逗号,注意是英文逗号:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scanf("%d,",p++);

在上一节小林说过,给指针变量赋的是地址,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int i,*p,a[10];
p=a;

但上述代码中却是这样赋值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int i,*p,a[10];
p=&a;

是因为我定义的a就是数组,在C语言中,数组名可以表示地址,因此不用再加取地址符&,读者需要了解。

C语言 | 用指针对10个数排序

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
matplotlib 入门使用指南
1. pyplot模块 1.1. color的值 blue 1.2. Marker的值 point marker 1.3. LineStyles的值 solid line style 例子: 'b' # blue markers with default shape 'ro' # red circles 'g-' # green solid line '--' # dashed line with default color 'k^:' # black triangle_up mark
syy
2020/04/07
9920
Matplotlib使用笔记
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
5750
python学习之matplot
import matplotlib.pyplot as plt import numpy as np import pandas as pd from mpl_toolkits.mplot3d import Axes3D import matplotlib.gridspec as gridspec from matplotlib import animation
py3study
2020/01/08
8010
Matplotlib新手上路(中)
接上回继续 一、多张图布局(subplot) 1.1 subplot布局方式 import matplotlib.pyplot as plt plt.figure() plt.subplot(3, 2, 1) # 3行2列的第1张图 plt.plot([0, 1], [0, 1]) plt.subplot(322) # 等效于plt.subplot(2,2,2) 3行2列的第2张图 plt.plot([1, 1], [0, 2]) plt.plot([0, 2], [1, 1]) plt.sub
菩提树下的杨过
2018/03/28
7540
Matplotlib新手上路(中)
matplotlib入门
MATlAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、量化金融与风险管理、机器人,控制系统等领域。MATLAB在数值计算方面首屈一指,也是使用最广泛的科研绘图软件之一。优点:编程效率高 便于矩阵计算。缺点:循环效率低 封装性不好。
用户2225445
2022/11/12
4.5K0
matplotlib入门
pycharm使用matplotlib绘图学习笔记「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174663.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5140
Matplotlib
Matplotlib 官网 此篇笔记参考来源为《莫烦Python》 安装同之前所述,参考《Python初学基础》 基本使用 2.1 基本用法 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1, 1, 50) #使用np.linspace定义x:范围是(-1,1);个数是50 y = 2*x + 1 plt.figure() #定义一个图像窗口 plt.plot(x, y) plt.show()
闪电gogogo
2018/05/28
1.2K0
matplotlib安装及使用
matplotlib是基于python语言的开源项目,旨在为python提供一个数据绘图包。我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图。实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间。用户在熟悉了核心对象之后,可以轻易的定制图像。matplotlib的对象体系也是计算机图形学的一个优秀范例。即使你不是python程序员,你也可以从文中了解一些通用的图形绘制原则。matplotlib使用numpy进行数组运算,并调用一系列其他的python库来实现硬件交互。matplotlib的核心是一套由对象构成的绘图API。
狼啸风云
2023/10/07
5390
matplotlib安装及使用
Matplotlib可视化Pyplot Tutorial
MATLAB, and pyplot, have the concept of the current figure and the current axes. All plotting commands apply to the current axes. The function gca() returns the current axes (a matplotlib.axes.Axes instance), and gcf() returns the current figure (matplotlib.figure.Figure instance).
用户2183996
2018/06/28
6580
Python数据分析之matplotlib(提高篇)
matplotlib核心剖析(http://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html#commentform)
AI异构
2020/07/29
6580
Python数据分析之matplotlib(提高篇)
Python数据分析Matplotlib
1.2 使用matplotlib.pyplot中的annotate()函数标注文字
荣仔_最靓的仔
2021/02/02
3.6K0
Python数据分析Matplotlib
python matplotlib各种绘图类型完整总结
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)
Twcat_tree
2022/12/05
6K0
python matplotlib各种绘图类型完整总结
matplotlib相关图形绘制(一)
  折线图用于显示随时间或有序类别而变化的趋势。折线图其实是由多个点连接在一起得到了,当点足够多的时候,折线图就变成了平滑的曲线。
朱小五
2020/03/05
1.1K0
matplotlib相关图形绘制(一)
Python如何使用Matplotlib的作图
Matplotlib官网 如果想了解更多可查看官网。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 X = np.linspace(0, 2*np.pi,1
Python研究者
2020/09/28
1.4K0
Python如何使用Matplotlib的作图
Matplotlib Pyplot教程
最近自己经常遇到matplotlib的OO API和pyplot包混乱不分的情况,所以抽时间好好把matplotlib的文档读了一下,下面是大概的翻译和总结。很多基础的东西还是要系统地掌握牢固哇~~另外一篇翻译是
曲奇
2021/12/14
7370
Matplotlib Pyplot教程
Python数据分析实战(3)Python实现数据可视化
数据可视化是指将数据放在可视环境中、进一步理解数据的技术,可以通过它更加详细地了解隐藏在数据表面之下的模式、趋势和相关性。
cutercorley
2020/08/31
4.6K0
数据分析画图:50道练习玩转matplotlib
Matplotlib 是 Python 的绘图库。它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案,也可以和图形工具包一起使用。和Pandas、Numpy并称为数据分析三兄弟。友情提示:代码虽好,自己动手才算学到。
Datawhale
2020/02/21
8820
python通过Matplotlib绘制常见的几种图形
使用matplotlib对几种常见的图形进行绘制 Matplotlib官网 如果想了解更多可查看官网。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 X
Python研究者
2021/08/23
8940
Matplotlib 1.4W+字基础教程来了(收藏吃灰去吧~~)
参考:Rougier N P, Droettboom M, Bourne P E, et al. Ten Simple Rules for Better Figures[J]. PLOS Computational Biology【IF 4.7】, 2014, 10(9).感兴趣戳:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4161295/pdf/pcbi.1003833.pdf
DataCharm
2021/02/22
1.5K0
Matplotlib 1.4W+字基础教程来了(收藏吃灰去吧~~)
Python基础(十二) | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot
timerring
2022/10/08
2.5K0
Python基础(十二) | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)
相关推荐
matplotlib 入门使用指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验