我是靠谱客的博主 激情星星,最近开发中收集的这篇文章主要介绍算法竞赛入门经典 5.3.2字母重排,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include <cstdio>
#include <cstring>
#include <cstdlib>
int len;
char word[50][10];
char sorted[50][10];
int cmp_char(const void *_a, const void *_b){
	char *a = (char*)_a;
	char *b = (char*)_b;
	return *a - *b;
}
int cmp_str(const void *_a, const void *_b){
	char *a = (char*)_a;
	char *b = (char*)_b;
	return strcmp(a, b);
}
int main(){
	memset(word, '', sizeof(word));
	memset(sorted, '', sizeof(sorted));
	len = 0;
	while (true){
		scanf("%s", word[len]);
		if (word[len][0] == '*'){
			break;
		}
		++len;
	}
	qsort(word, len, sizeof(word[0]), cmp_str);
	for (int i = 0; i < len; ++i){
		strcpy(sorted[i], word[i]);
		qsort(sorted[i], strlen(sorted[i]), sizeof(char), cmp_char);
	}
	char in[10];
	memset(in, '', sizeof(in));
	while (scanf("%s", in) == 1){
		qsort(in, strlen(in), sizeof(char), cmp_char);
		bool found = false;
		for (int i = 0; i < len; ++i){
			if (strcmp(in, sorted[i]) == 0){
				printf("%s ", word[i]);
				found = true;
			}
		}
		if (!found){
			printf(":(");
		}
		printf("n");
		memset(in, '', sizeof(in));
	}
	return 0;
}

最后

以上就是激情星星为你收集整理的算法竞赛入门经典 5.3.2字母重排的全部内容,希望文章能够帮你解决算法竞赛入门经典 5.3.2字母重排所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部