文章

47

粉丝

67

获赞

8

访问

13.2k

头像
大整数排序 题解:
P1412 华中科技大学机试题
发布于2024年3月6日 16:08
阅读数 279

#include<stdio.h>
#include<string.h>
int main() {
	//strcpy(a,b) 等同于 a = b;

	int n;
	while (scanf("%d", &n) != EOF) {
		char s[105][105];
		char ch[105];
		for (int i = 0; i < n; i++) {
			scanf("%s", &s[i]);//输入字符串
		}
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n - 1 - i; j++) {
				if (strlen(s[j]) > strlen(s[j + 1])) { //先从长度开始比较
					strcpy(ch, s[j]);
					strcpy(s[j], s[j + 1]);
					strcpy(s[j + 1], ch);
				}
				//长度相同的情况 >0 表示是s[j]>s[j+1]
				if (strlen(s[j]) == strlen(s[j + 1]) && strcmp(s[j], s[j + 1]) > 0){
					strcpy(ch, s[j]);
					strcpy(s[j], s[j + 1]);
					strcpy(s[j + 1], ch);
				}
			}
		}
		for (int i = 0; i < n; i++) {
			printf("%s\n", s[i]);
		}
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发