C语言:冒泡法排序

从键盘输入N个整数,使用冒泡排序算法进行升序排列。

C语言程序如下(以10个数为例):

cpp 复制代码
#include <stdio.h>
#define N 10  //宏定义,N值可修改 

int main()
{
	void enter_data(int *p);//声明函数
    void buble_sort(int *p);//声明函数 
	void print_array(int *p);//声明函数 
	int a[N],*pt;
	pt=a;               //定义整型指针pt指向数组a
    enter_data(pt);//输入N个数据 
    buble_sort(pt);    
    print_array(pt);//输出N个数据 
	return 0;
} 
 
void enter_data(int *p)//函数功能:向数组输入N个数据 
{
	int *p1;
	printf("请从键盘输入%d个数:\n",N);
	for(p1=p;p1<p+N;p1++)
	  scanf("%d",p1); 
} 

void buble_sort(int *p)//函数功能:冒泡法排序
{
	int i,j,temp;
	for(i=0;i<N-1;i++)
    {
    	for(j=0;j<N-1-i;j++)
    	{
    		if(*(p+j)>*(p+j+1))//借助第三个量完成交换 
    		{
    			temp=*(p+j);
    			*(p+j)=*(p+j+1);
    			*(p+j+1)=temp;
			}
		}
	}
} 

void print_array(int *p)//函数功能:从数组输出N个数据 
{
	int *p1; 
	printf("输出排序后数组元素:\n");
	for(p1=p;p1<p+N;p1++)
	  printf("%d ",*p1);
} 

程序运行结果如下:

请各位大佬多批评指正!!!

相关推荐
2601_949146533 分钟前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
知南x2 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
2的n次方_4 小时前
Runtime 执行提交机制:NPU 硬件队列的管理与任务原子化下发
c语言·开发语言
凡人叶枫5 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
凡人叶枫6 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
傻乐u兔7 小时前
C语言进阶————指针3
c语言·开发语言
CodeSheep程序羊8 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
I'mChloe9 小时前
PTO-ISA 深度解析:PyPTO 范式生成的底层指令集与 NPU 算子执行的硬件映射
c语言·开发语言
2的n次方_9 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
嵌入小生0079 小时前
标准IO---核心函数接口延续(嵌入式Linux)
c语言·vscode·vim·嵌入式·小白·标准io·函数接口