今天刷算法笔记的课后题时做到的一题。主要思想是使用冒泡。
#include <stdio.h>
#include <math.h>
#include <string.h>
void swap(char **p1, char **p2) {
char *temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main()
{
char str[3][20], *p[3];
for(int i = 0; i < 3; i++) {
scanf("%s", str[i]);
p[i] = str[i];
}
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 2 - i; j++) {
if(strcmp(p[j], p[j+1]) > 0) {
swap(&p[j], &p[j+1]);
}
}
}
for(int i = 0; i < 3; i++) {
printf("%s\n", p[i]);
}
return 0;
}