文章

47

粉丝

68

获赞

8

访问

13.6k

头像
字符串排序 题解:c
P1254 北京大学机试题
发布于2024年3月6日 10:55
阅读数 175

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

int sortstring(const void* elem1, const void* elem2) {
	return strcmp((char *) elem1,(char *)elem2);
}
int main() {

	char s[25] = {0};//代表输入的是单个字符,而不是字符串
	scanf("%s",&s);
	int len = strlen(s);
	qsort(s,len,sizeof(s[0]),sortstring);
	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;//单个字符从大到小
	//return   *(char*)elem2 - *(char*)elem1;//单个字符从大到小
	//字符串用strcmp
}
int main() {

	char s[20] = {0};//注意初始化
	//三种字符串输入都可以
	while (gets(s)!=NULL) {
		int len = strlen(s);
		qsort(s,len,sizeof(s[0]),sort);
		puts(s);
	}

	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发