⑴ c语言冒泡排序,输入字母或数字比较大小,输出结果是字母由大到小排在前,数字由小到大排在后
/*
排序前 : 90dhnsuayA34810
降排序后 : yusnhdaA9843100
二次排序后 : yusnhdaA0013489
Press any key to continue
*/
#include <stdio.h>
#include <stdlib.h>
void SortD(char s[]) { // 从大到小排序
int i,j;
char ch;
for(i = 0; s[i + 1]; ++i) {
for(j = i + 1; s[j]; ++j) {
if(s[i] < s[j]) {
ch = s[i];
s[i] = s[j];
s[j] = ch;
}
}
}
}
void SortI(char s[]) { // 从小到大排序
int i,j;
char ch;
for(i = 0; s[i + 1]; ++i) {
for(j = i + 1; s[j]; ++j) {
if(s[i] > s[j]) {
ch = s[i];
s[i] = s[j];
s[j] = ch;
}
}
}
}
int main(){
char s[] = "90dhnsuayA34810";
int i,pos = -1;
printf("排序前 : %s\n",s);
SortD(s);
printf("降排序后 : %s\n",s);
for(i = 0; s[i]; ++i) {
if(s[i] >= '0' && s[i] <= '9') {
pos = i;
break;
}
}
if(pos != -1) {
SortI(&s[pos]);
printf("二次排序后 : %s\n",s);
}
return 0;}
⑵ C语言,用函数对字符数组中存放的若干个字母按从小到大用冒泡法排序
你的字符串输入有问题,还有冒泡排序的几行算法有点问题,磨孝我这个应该可以通过#include<stdio.h>
void
main()
{
char
a[81],temp;
int
i=0,j,k;
scanf("%s",a);
for(j=strlen(a);j>0;j--)
for(k=0;k<瞎袭稿j-1;k++)
if(a[k]>a[k+1])
{
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
printf("禅缺%s",a);
}
⑶ c语言怎么做冒泡排序啊
使用冒泡排序法进行编程:
解释:
1.第一个for循环:利用数组循环输入4个变量。
2.第二个for循环:该循环的意思是如果a[0]>a[1]的话,两个变量的值交换,利用循环依次比较。要注意的是i<3,因为其中有i+1,i最大取到2,也就闷渣是i+1最大取到3才正确。
3.第三个for循环:利用循环依次输出蚂渣悄排序后的数组,每输出一个加一个空格以便于区分。
(3)c语言用冒泡法对字母排序扩展阅读:
冒泡排序法,从数组头部开始,不断比较相邻的两个元素的大小,通过交换两个元素的值使较大的元素逐渐往后移动,直到数组的末尾。
经过第一轮的比较,就可以找到最大的元素,并将它移动梁燃到最后一个位置。第一轮结束后,继续第二轮。仍然从数组头部开始比较,让较大的元素逐渐往后移动,直到数组的倒数第二个元素为止。
经过第二轮的比较,就可以找到次大的元素,并将它放到倒数第二个位置。
以此类推,进行 n-1(n 为数组长度)轮“冒泡”后,就可以将所有的元素都排列好。
⑷ 字符串的冒泡排序(一定要用c语言)
1、首先新建一个控制薯袜台应用程序。
⑸ C语言,26个字母的冒泡排序
从Z到A冒泡排序,按照你说梁历正的亲自写好了
你看下满橡悔意吗?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void BubbleSort(char *pData, int Count)
{
int i, j, flag;
char ch;
for(i=1; i<Count; i++)
{
flag = 1;
for(j=Count-1; j >= i; j--)
{
if(pData[j] > pData[j-1])
{
flag = 0;
ch = pData[j];
pData[j] = pData[j-1];
pData[j-1] = ch;
}
}
if(flag == 1) return;
}
}
int main(void)
{
char data[] = "ACDFEYOPZNM";
int i, len;
len = strlen(data);
BubbleSort(data, len);
for(i=0; i<len; i++)
printf("%c", data[i]);
printf("烂仿\n");
return 0;
}
⑹ c语言用冒泡法选择法从键盘任意输入十个小写字母,按从大到小的顺序排序输出。
1 输入;
2 排序;
3 输出。
参考代码如下:
#include <stdio.h>
int main()
{
int a[10];//用来存数据
int i,j,temp;
for(i = 0; i < 10; i ++)//输入10个数。
scanf("%d",&a[i]);
for (j = 0; j < 9; j++)//标准冒泡法排序
for (i = 0; i < 9- j; i++)
{
if(a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
for(i = 0; i < 10; i ++)//输出。
printf("%d,",&a[i]);
printf("\n");
return 0;
}
⑺ C语言 字母排列
1、该排序算法是选择排序算法
2、在i位置为大写字母时进行第二层遍历
3、如果判断不为大写字母,不需要j++之后continue,否则会跳过一个字母
修改后代码如下,修改位置注释给出:
//1072字母排列
#include<stdio.h>
#include<string.h>
intmain()
{
chara[65];
inti,j,b,min;
gets(a);//读取一行内容
b=strlen(a);
//冒泡排序法,i为前面的字符,j为后一个字符
for(i=0;i<b-1;i++)
{
if(a[i]<'A'||(a[i]>'Z')||a[i]=='')continue;/////judge
for(j=i+1;j<b;j++)
{
if(a[j]<'A'||(a[j]>'Z')||a[j]=='')
{
//j++;//delete
continue;
}
if(a[i]>a[j])//从小到大排序,小的排左边,大的排右边
{
min=a[j];
a[j]=a[i];
a[i]=min;
}
}
}
for(i=0;i<b;i++)
printf("%c",a[i]);
return0;
}
⑻ 冒泡排序法C语言解释。
冒泡排序是一种最简单的排序方法,通过比较相邻的元素,若发生倒序,则交换,册拿使最大值沉到最后。
⑼ C语言冒泡排序法是什么
冒泡排序法,是C语言常用的排序算法之一,意思是对一组数字进行从大到小或者从小到大排序的一种算法。
具体方法是:
相邻数值两两交换。从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换(对调);如果其与我们的期望一致,则不用交换。重复这样的过程,一直到最后没有数值需要交换,则排序完成。
C语言常见的排序算法:
1、冒泡排序
基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。每一轮排序结束,选出一个未排序中最大的数放到数组后面。
2、快速排序
基本思想:选取一个基准元素,通常为数组最后一个元素(或者第一个元素)。从前向后遍历数组,当遇到小于基准元素的元素时,把它和左边第一个大于基准元素的元素进行交换。在利用分治策略从已经分好的两组中分别进行以上步骤,直到排序完成。
3、直接插入排序
基本思想:和交换排序不同的是它不用进行交换操作,而是用一个临时变量存储当前值。当前面的元素比后面大时,先把后面的元素存入临时变量,前面元素的值放到后面元素位置,再到最后把其值插入到合适的数组位置。
4、直接选择排序
基本思想:依次选出数组最小的数放到数组的前面。首先从数组的第二个元素开始往后遍历,找出最小的数放到第一个位置。再从剩下数组中找出最小的数放到第二个位置。以此类推,直到数组有序。
以上内容参考 网络-排序算法、网络-c语言冒泡排序
⑽ C语言冒泡排序法
冒泡排序每一趟排序把最大的放在最右边。
比如:
87 12 56 45 78
87和12交换:12 87 56 45 78
87和56交换: 56 87 45 78
87和45交换: 45 87 78
87和78交换: 78 87
到此第一趟排序结束,接下来的每一趟排序都是这样。
#include<stdio.h>
voidPrint(int*num,intn)
{
inti;
for(i=0;i<n;i++)
printf("%d",num[i]);
puts(" ");
return;
}
voidBubble_Sort(int*num,intn)
{
inti,j;
for(i=0;i<n;i++)
{
for(j=0;i+j<n-1;j++)
{
if(num[j]>num[j+1])
{
inttemp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
Print(num,n);
}
}
return;
}
intmain()
{
intnum[8]={87,12,56,45,78};
Bubble_Sort(num,5);
return0;
}