文章
47
粉丝
109
获赞
8
访问
29.7k
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//用C语言的话,就主要考察二元字符数组那块的知识,因为只有这样才能在数组中存储多个字符串,因为字符串在C语言中就是以字符数组的形式存在的
int name1(const void* elem1, const void* elem2) {
return strcmp((char*)elem1 , (char*)elem2);
}
int main() {
int n = 0;
scanf("%d", &n);
char s[105][105];
for (int i = 0; i < n; i++) {
scanf("%s", &s[i]);
}
qsort(s,n,sizeof(s[0]),name1);
for (int i = 0; i < n; i++) {
printf("%s\n", 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 strcmp((char*)elem1, (char*)elem2);
}
int main() {
//gets(s) 可以输入一个很长的字符串,不会因为空格而被打断,空格也算是字符 并且 为读入一行,并将换行符转换为字符串结束符
//char s[105] scanf("%s",&s[i]) 读取一个字符串,会跳过前导的空格或tab,遇到空格、tab或空格即结束读取
//char s[105][105]; scanf("%s",&s[i])二维字符数组一般用于存储和处理多个字符串,不会因为换行而结束
int n = 0;
scanf("%d", &...
登录后发布评论
暂无评论,来抢沙发