您好,欢迎来到帮我找美食网。
搜索
您的当前位置:首页急需一个用C语言函数写的冒泡排序法,最好是可以排数字也可以排字母

急需一个用C语言函数写的冒泡排序法,最好是可以排数字也可以排字母

来源:帮我找美食网

这是一个使用C语言编写的冒泡排序函数,可以对数字进行排序。以下是函数实现:

void mao_pao(int *a,int n) { int i,j,temp,flag; for(i=0;i { flag=0; for(j=0;j { if(a[j]>a[j+1]) { flag=1; temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } }

在主函数中,程序首先分配内存,然后提示用户输入元素个数,并输入这些元素。接下来调用冒泡排序函数进行排序,最后输出排序后的结果。

void main() { int *a,i,n; a=(int *)malloc(100); if(NULL==a) { printf("allocation failture\n"); exit(1); } printf("请输入你要排序的元素的个数\n"); scanf("%d",&n); printf("现在开始输入%d个元素\n",n); for(i=0;i!=n;++i) scanf("%d",&a[i]); mao_pao(a,n); printf("排序后为:\n"); for(i=0;i!=n;++i) printf("%d ",a[i]); printf("\n"); free(a); }

如果要对字母进行排序,只需将函数中的变量类型改为字符型,并调整输入输出的格式即可。

举个例子,如果要对字符进行排序,可以将变量类型改为字符型,并使用字符输入输出:

void mao_pao(char *a,int n) { int i,j,temp,flag; for(i=0;i { flag=0; for(j=0;j { if(a[j]>a[j+1]) { flag=1; temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } }

在主函数中,程序会提示用户输入字符,并使用字符输入输出:

void main() { char *a,i,n; a=(char *)malloc(100); if(NULL==a) { printf("allocation failture\n"); exit(1); } printf("请输入你要排序的字符的个数\n"); scanf("%d",&n); printf("现在开始输入%d个字符\n",n); for(i=0;i!=n;++i) scanf("%c",&a[i]); mao_pao(a,n); printf("排序后为:\n"); for(i=0;i!=n;++i) printf("%c ",a[i]); printf("\n"); free(a); }详情

Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务