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

程序运行结果如下:

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

相关推荐
deng-c-f2 小时前
配置(4):VScode c/c++编译环境的配置:c_cpp_properties.json
c语言·c++·vscode
散峰而望6 小时前
基本魔法语言数组 (一) (C语言)
c语言·开发语言·编辑器·github·visual studio code·visual studio
Fr2ed0m9 小时前
卡尔曼滤波算法原理详解:核心公式、C 语言代码实现及电机控制 / 目标追踪应用
c语言·人工智能·算法
Yupureki9 小时前
从零开始的C++学习生活 20:数据结构与STL复习课(4.4w字全解析)
c语言·数据结构·c++·学习·visual studio·1024程序员节
一念&9 小时前
每日一个C语言知识:C 错误处理
c语言·开发语言·算法
奔跑吧邓邓子9 小时前
【C语言实战(66)】筑牢防线:C语言安全编码之输入与错误处理
c语言·安全·开发实战·错误处理·输入验证
雨落在了我的手上10 小时前
C语言入门(十三):操作符详解(1)
c语言
烟花落o12 小时前
指针深入第二弹--字符指针、数组指针、函数指针、函数指针数组、转移表的理解加运用
c语言·开发语言·笔记·vscode·算法
散峰而望12 小时前
基本魔法语言数组 (二) (C语言)
c语言·开发语言·github·visual studio
l1t13 小时前
对luasql-duckdb PR的测试
c语言·数据库·单元测试·lua·duckdb