文件中单词排序 好难啊

img

简单写了一下!

#include <stdbool.h>
#include <stdio.h>
#include <string.h>

bool in(char arr[][100], char str[100], int len) {
  for (int i = 0; i < len; ++i) {
    if (strcmp(arr[i], str) == 0) {
      return true;
    }
  }
  return false;
}

int main() {
  char arr[100][100];
  int len = 0;
  char buffer[100];
  freopen("sort.in", "r", stdin);
  freopen("sort.out", "w", stdout);
  while (scanf("%s", buffer) != -1) {
    strcpy(arr[len], buffer);
    len += 1;
  }
  char arr2[100][100];
  int len2 = 0;
  for (int i = 0; i < len; i++) {
    if (!in(arr2, arr[i], len2)) {
      strcpy(arr2[len2], arr[i]);
      len2 += 1;
    }
  }
  for (int i = 0; i < len2 - 1; i++) {
    for (int j = 0; j < len2 - i - 1; j++) {
      if (strcmp(arr2[j], arr2[j + 1]) > 0) {
        strcpy(buffer, arr2[j + 1]);
        strcpy(arr2[j + 1], arr2[j]);
        strcpy(arr2[j], buffer);
      }
    }
  }
  for (int i = 0; i < len2; i++) {
    printf("%s ", arr2[i]);
  }
  return 0;
}