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

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

排序函数:

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;}
}

源代码演示:

#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;}
}

编译运行结果如下:

请输入十个数: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函数用的逗号,注意是英文逗号:

scanf("%d,",p++);

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

int i,*p,a[10];
p=a;

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

int i,*p,a[10];
p=&a;

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

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

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


C语言 | 用指针对10个数排序相关推荐

  1. c语言文件归并问题_C语言 | 选择法对10个数排序

    例60:C语言实现用选择法对10个整数排序. 解析:选择排序思路如下,设有10个元素a[1]~a[10],将a[1]与a[2]~a[10],若a[1]比a[2]~a[10]都小,则不进行交换,即无任何 ...

  2. c语言面试会问10个数排序吗,c语言面试最必考的十道试题,求职必看!!!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 6.free()函数 问:下面的程序会在用户输入'freeze'的时候出问题,而'zebra'则不会,为什么? #include int main(int ...

  3. 【C语言】将输入的10个数排序

    代码: #include <stdio.h> int main() {int a[10], t;int i, j, max;printf("请输入10个数:\n");f ...

  4. 计算机编程输入3个数排序,汇编语言 输入10个数排序并输出的实现

    一:题目描述 在键盘输入任意10个数 按从小到大排序后,在计算机屏幕上先输出来.要有结果提示(字符串显示). 将10个数做累加,结果在计算机屏幕显示累加和. 二:伪指令的定义 1.数据段 ATAS S ...

  5. C语言学习之输入10个数,输出其中最大的一个数。

    输入10个数,输出其中最大的一个数. #include <stdio.h> void main(){int a[10],max=0;printf("请输入十个整数:\n" ...

  6. c语言创建链表存储10个数,C语言编写的建立单向int链表,连续输入10个结点创建链表,并实现在原链表中插入数字、删除数字、查找数字的功能...

    满意答案 1bz8z1f96 2014.07.01 采纳率:54%    等级:9 已帮助:565人 #include #include #define LEN sizeof(struct num) ...

  7. 10个数冒泡排序法c语言代码,输入10个数用冒泡法排序

    输入10个数,用冒泡排序法按由小到大顺序排序并输如下参考: #包括< stdio, h > Intmain() { Inta[10]={0}: IntI=0,j=0,t=0: For (I ...

  8. 10个数冒泡排序流程图_C语言 | 冒泡排序

    "要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人-万中无一" --包租婆这道理放在C语言学习上也一并受用.在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语 ...

  9. c语言随机产生10个30 100,c语言编写随机产生10个100~200之间整数,幷按从大到小排序...

    你所写的代码是正确的,想要查看,请用这个:includeint main(){char ch;scanf("%c",&ch);if(ch>='A'&ch){c ...

最新文章

  1. delphi usb 读写_写作论语 | 崔嵘:写我所读——国外整本书阅读中读写结合的理论与实践(上)...
  2. Java多线程编程笔记4:Java内存模型
  3. mysql中基本的DML语句
  4. 历经7年双11实战,阿里巴巴是如何定义云原生混部调度优先级及服务质量的?
  5. Magento: 添加first name 和 last name到newsletter Add additional fields to your newsl
  6. Vue 学习笔记(3)路由的基本使用 结合 SpringBoot
  7. [HNOI2013] 切糕
  8. yolo 深度学习_吴恩达深度学习笔记04.卷积神经网络 W3.目标检测(YOLO)
  9. 查看sql语句的执行计划
  10. Windows10 64位系统安装EPLAN P8 2.6教程
  11. Automative SPICE 之五 过程能力层次和过程属性
  12. Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
  13. 13. 罗马数字转整数
  14. 背景动态星空H5特效源代码
  15. 代码实现stable-diffusion模型,你也用AI生成获得一等奖的艺术图
  16. 华为机试真题 导师请吃火锅 C++实现
  17. 【测试】抓包技术哪家强?关于Burp、Fiddler、Charles三个工具的抓包测试
  18. Jetpack-Compose-自定义绘制
  19. matlab实现移位寄存器,一文解析Matlab如何实现移位寄存器
  20. 谷歌浏览器计算机给我们的启示

热门文章

  1. Linux查看用户及其权限管理
  2. 有限状态机详解与举例(leetcode 1023)
  3. centos7下安装redis6.0.6
  4. 【Java笔记】mysql各个版本驱动jar包下载
  5. 三國正史vs演義的差別100個
  6. 如何理解:程序、进程、线程、并发、并行、高并发?
  7. 2003 iis php mysql_阿里云完美教程 Window2003 iis+mysql+php+zend环境配置
  8. 《港联证券》新三板股票交易规则是什么?如何进行交易?
  9. ps神经网络滤镜用不了,ai神经网络滤镜安装包
  10. 关于Python自动化的就业真相