修改文件结构。
This commit is contained in:
47
POP/12/Exercise01.c
Normal file
47
POP/12/Exercise01.c
Normal file
@@ -0,0 +1,47 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
void readString(char** stringPtrPtr, int stringCount) {
|
||||
char tempStringPtr[81] = {0};
|
||||
int i = 0;
|
||||
for (i = 0; i < stringCount; i++) {
|
||||
scanf("%80s", tempStringPtr);//读入临时字符串
|
||||
stringPtrPtr[i] = malloc(strlen(tempStringPtr) + 1);//创建一个和temp一样大的空间
|
||||
strcpy(stringPtrPtr[i], tempStringPtr);//把temp 复制进新申请的地址里
|
||||
}
|
||||
}
|
||||
|
||||
void swap(char** a, char** b) {
|
||||
char* tmp = *a;
|
||||
*a = *b;
|
||||
*b = tmp;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n = 0;
|
||||
int i = 0;
|
||||
char** stringPtrArrayPtr;//指向字符串指针数组的指针,字符串指针数组的大小要根据N的数量确定有几个指针
|
||||
int moved = 1;
|
||||
|
||||
scanf("%d", &n);
|
||||
stringPtrArrayPtr = (char**) malloc(sizeof(int* ) * n);//根据N的大小决定要多少个字符串指针
|
||||
|
||||
readString(stringPtrArrayPtr, n);
|
||||
|
||||
while(moved) {
|
||||
moved = 0;
|
||||
for (i = 0; i < n - 1; i++) {
|
||||
if (strcmp(stringPtrArrayPtr[i], stringPtrArrayPtr[i+1]) > 0) {
|
||||
//若前面的比后面的大,就交换
|
||||
moved = 1;
|
||||
swap(&stringPtrArrayPtr[i], &stringPtrArrayPtr[i+1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
printf("%s\n", stringPtrArrayPtr[i]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user