UVA 156-Ananagrams
2016-07-19 19:38
197 查看
UVA 156-Ananagrams
题目大意:将没有出现的单词按字典序输出解题思路:先转换为小写,qsort排序,然后将没出现的输出
#include <stdio.h> #include <string.h> #include <iostream> using namespace std; int cmp1(const void *a,const void *b) { return *(char*)a - *(char*)b; } int cmp2(const void *a, const void *b) { return strcmp((char*)a,(char*)b); } int main() { char a[10000][10000]; char b[10000][10000]; char d[10000][10000]; int n = 0; while(scanf("%s", a ) && a [0] != '#') { strcpy(b , a ); n++; } for(int i = 0; i < n; i++) { for(int j = 0; b[i][j] != '\0'; j++) { if(b[i][j] >= 'A' && b[i][j] <= 'Z') b[i][j] = b[i][j] + 32; } qsort(b[i], strlen(b[i]), sizeof(char), cmp1); } int s = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(i != j) if((strcmp(b[i],b[j])) == 0) { break; } if(j + 1 == n) { strcpy(d[s], a[i]); s++; } } qsort(d, s, sizeof(d[0]), cmp2); for(int i = 0; i < s; i++) puts(d[i]); return 0; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C 语言简单加减乘除运算
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言二进制思想以及数据的存储
- C语言中计算正弦的相关函数总结