C语言 | 用指针对10个数排序
例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个数排序相关推荐
- c语言文件归并问题_C语言 | 选择法对10个数排序
例60:C语言实现用选择法对10个整数排序. 解析:选择排序思路如下,设有10个元素a[1]~a[10],将a[1]与a[2]~a[10],若a[1]比a[2]~a[10]都小,则不进行交换,即无任何 ...
- c语言面试会问10个数排序吗,c语言面试最必考的十道试题,求职必看!!!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 6.free()函数 问:下面的程序会在用户输入'freeze'的时候出问题,而'zebra'则不会,为什么? #include int main(int ...
- 【C语言】将输入的10个数排序
代码: #include <stdio.h> int main() {int a[10], t;int i, j, max;printf("请输入10个数:\n");f ...
- 计算机编程输入3个数排序,汇编语言 输入10个数排序并输出的实现
一:题目描述 在键盘输入任意10个数 按从小到大排序后,在计算机屏幕上先输出来.要有结果提示(字符串显示). 将10个数做累加,结果在计算机屏幕显示累加和. 二:伪指令的定义 1.数据段 ATAS S ...
- C语言学习之输入10个数,输出其中最大的一个数。
输入10个数,输出其中最大的一个数. #include <stdio.h> void main(){int a[10],max=0;printf("请输入十个整数:\n" ...
- c语言创建链表存储10个数,C语言编写的建立单向int链表,连续输入10个结点创建链表,并实现在原链表中插入数字、删除数字、查找数字的功能...
满意答案 1bz8z1f96 2014.07.01 采纳率:54% 等级:9 已帮助:565人 #include #include #define LEN sizeof(struct num) ...
- 10个数冒泡排序法c语言代码,输入10个数用冒泡法排序
输入10个数,用冒泡排序法按由小到大顺序排序并输如下参考: #包括< stdio, h > Intmain() { Inta[10]={0}: IntI=0,j=0,t=0: For (I ...
- 10个数冒泡排序流程图_C语言 | 冒泡排序
"要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人-万中无一" --包租婆这道理放在C语言学习上也一并受用.在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语 ...
- c语言随机产生10个30 100,c语言编写随机产生10个100~200之间整数,幷按从大到小排序...
你所写的代码是正确的,想要查看,请用这个:includeint main(){char ch;scanf("%c",&ch);if(ch>='A'&ch){c ...
最新文章
- delphi usb 读写_写作论语 | 崔嵘:写我所读——国外整本书阅读中读写结合的理论与实践(上)...
- Java多线程编程笔记4:Java内存模型
- mysql中基本的DML语句
- 历经7年双11实战,阿里巴巴是如何定义云原生混部调度优先级及服务质量的?
- Magento: 添加first name 和 last name到newsletter Add additional fields to your newsl
- Vue 学习笔记(3)路由的基本使用 结合 SpringBoot
- [HNOI2013] 切糕
- yolo 深度学习_吴恩达深度学习笔记04.卷积神经网络 W3.目标检测(YOLO)
- 查看sql语句的执行计划
- Windows10 64位系统安装EPLAN P8 2.6教程
- Automative SPICE 之五 过程能力层次和过程属性
- Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
- 13. 罗马数字转整数
- 背景动态星空H5特效源代码
- 代码实现stable-diffusion模型,你也用AI生成获得一等奖的艺术图
- 华为机试真题 导师请吃火锅 C++实现
- 【测试】抓包技术哪家强?关于Burp、Fiddler、Charles三个工具的抓包测试
- Jetpack-Compose-自定义绘制
- matlab实现移位寄存器,一文解析Matlab如何实现移位寄存器
- 谷歌浏览器计算机给我们的启示
热门文章
- Linux查看用户及其权限管理
- 有限状态机详解与举例(leetcode 1023)
- centos7下安装redis6.0.6
- 【Java笔记】mysql各个版本驱动jar包下载
- 三國正史vs演義的差別100個
- 如何理解:程序、进程、线程、并发、并行、高并发?
- 2003 iis php mysql_阿里云完美教程 Window2003 iis+mysql+php+zend环境配置
- 《港联证券》新三板股票交易规则是什么?如何进行交易?
- ps神经网络滤镜用不了,ai神经网络滤镜安装包
- 关于Python自动化的就业真相