菜鸟在食堂

《C语言字符的大小比较》
#include “stdafx.h”
void disp(char arr[], int n);
void sort(char arr[], int n, bool(*pFun)(char, char));//函数指针传参
bool less(char x, char y);//less 从小到大排序
bool grater(char x, char y);//garter从大到小排序
int main()
{
char arr[7] = { ‘z’,‘b’,‘c’,‘e’,‘d’,‘r’ };
disp(arr, 5);
sort(arr, 5, less);
disp(arr, 5);
sort(arr, 5, grater);
disp(arr, 5);
return 0;
}
void sort(char arr[], int n, bool(*pFun)(char, char))
{
int i, j, k;
char temp;
for (i = 0; i < n - 1; i++) {
k = i;
for (j = i + 1; j < n; j++)
{
if (pFun(arr[j], arr[k]))//调用函数比较
k = j;
}
if (k != i) {
temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
}
void disp(char arr[], int n)
{
for (int i = 0; i < n; i++)
printf("%c “, arr[i]);
printf(”\n");
}
bool less(char x, char y)
{
return x < y;
}
bool grater(char x, char y)
{
return x > y;
}
在这里插入代码片在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39175450/article/details/84818276
今日推荐