编号及代码:
/*
*Copyright (c)2014,计算机与控制工程学院
*All rights rederved
*作者:范星月
*完成日期:2014年11月23日
*版本号:v1.0
*
*问题描述:用冒泡排序法排列字母
*问题输入:输入字母串
*问题输出:按顺序输出字母串
*/
#include <iostream>
#include <cstdio>
using namespace std;
void bubble_sort (char arr[],int num);
void output_array (char arr[],int num);
int main( )
{
char a[20]= {'s','o','r','t','b','u','b','b','l','e','s','e','l','e','c','t','o','k','o','k'};
char b[15]= {'a','b','c','f','d','r','d','d','d','e','r','r','d','e','d'};
bubble_sort(a,20 ); //用冒泡法按降序排序a中元素
output_array(a,20);
bubble_sort (b,15);
output_array(b,15);
return 0;
}
void bubble_sort (char arr[],int num)
{
int i,j;
char t;
for (j=0; j<num; j++)
for (i=0; i<num-1-j; i++)
if (arr[i]<=arr[i+1])
{
t=arr[i];
arr[i]=arr[i+1];
arr[i+1]=t;
}
return;
}
//输出排序后的数组
void output_array (char arr[],int num )
{
int i=0;
for (i=0; i<num-1; i++)
cout <<arr[i]<<" , ";
cout <<arr[num-1]<<" "<<endl;
return;
}
运行结果:
学习总结:不明白两个cout 为什么要这样写
学习心得:加油