回复 5楼 liuyawen44
程序代码:
#include <stdio.h>
#define LENMAX 7
int scmp(char *sp, char *sq, int lenmax) {
int i, flag;
lenmax--;
for(i = 0; i < lenmax; i++) {
if(*(sp + i) - * (sq + i) > 0) {
flag = 1;
break;
} else if(*(sp + i) - * (sq + i) < 0) {
flag = -1;
break;
} else {
flag = 0;
}
}
return flag;
}
void scopy(char *sp, char *sq, int lenmax) {
int i;
lenmax--;
for(i = 0; i < lenmax && *(sq + i) != '\0'; i++) {
*(sp + i) = *(sq + i);
}
*(sp + i) = '\0';
}
void maopao(char s[][LENMAX]) {
int i, j;
char temp[LENMAX] = {0};
for(i = 0; i < 5; i++) {
for(j = 0; j < 4 - i; j++) {
if(scmp(s[j], s[j + 1], LENMAX) < 0) {
scopy(temp, s[j], LENMAX);
scopy(s[j], s[j + 1], LENMAX);
scopy(s[j + 1], temp, LENMAX);
}
}
}
}
int main(void) {
int i;
char s[5][LENMAX] = {"man", "woman", "boy", "boys", "sister"};
maopao(s);
for(i = 0; i < 5; i++) {
puts(s[i]);
}
return 0;
}
[
本帖最后由 longwu9t 于 2014-12-27 18:06 编辑 ]