文章

47

粉丝

109

获赞

9

访问

31.7k

头像
字符串内排序 题解:C
P1360 哈尔滨工业大学机试
发布于2024年3月6日 15:34
阅读数 674

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int st_in(const void* elem1, const void* elem2) {

	return strcmp((char*)elem1, (char*)elem2);
}
int main() {
	char s[105];
	scanf("%s", &s);//直接输入字符串
	int len = strlen(s);
	qsort(s, len, sizeof(s[0]), st_in);
	for (int i = 0; i < len; i++) {
		printf("%c", s[i]);
	}
	return 0;
}

第二种

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int sort(const void* elem1, const void* elem2) {
	return *(char*)elem1 - *(char*)elem2;
}
int main() {

	char s[210] = { 0 };
	//字符串可以用NULL
	while (gets(s) != NULL) {
		int len = strlen(s);
		qsort(s, len, sizeof(s[0]), sort);
		puts(s);
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

4 条评论
我爱陈少熙 VIP
2024年3月26日 19:48

这两种方法应该都不能实现多组连续输入吧

赞(0)

我爱陈少熙 : 回复 我爱陈少熙: 啊好像可以

2024年3月26日 20:45

lingdongyang : 回复 我爱陈少熙: 这道题,他哪个题虽然写了要多组输入,但我测试过似乎你是否要多组输入都可以

2024年3月27日 18:09

lingdongyang : 回复 lingdongyang: 第一种 while(scanf("%s", &s)!=EOF){ } 最好还是用第一种上面这种, 第二种 while (gets(s) != NULL) { } 但有些题反而不行,只是这道题可以

2024年3月27日 18:15