#include <stdio.h>
#include <string.h>
int main() {
int num, i, j, result, index;
char name[100][10];
char temp[10];
scanf("%d\n", &num);
for(i = 0; i < num; i++)
scanf("%s\n", name[i]);
for(i = 0; i < num; i++) {
index = i;
for(j = i + 1; j < num; j++) {
result = strcmp(name[index], name[j]);
if(result > 0)
index = j;
}
strcpy(temp, name[index]);
strcpy(name[index], name[i]);
strcpy(name[i], temp);
}
for(i = 0; i < num; i++) {
printf("%s", name[i]);
printf("\n");
}
}
您将在小写英文字母表中获得一组单词。它们按字母顺序排序。
字母顺序:这是在字典或电话目录中组织单词的顺序。
例如,
输入 - 第一行有'n',单词数,后跟n行,每行包含一个单词。
输出 - 按字母顺序排列的单词,每行一个。
约束:0&lt; n&lt; = 100,0&lt;每个单词的长度&lt; = 10
提示:了解二维数组如何提供帮助。
此程序可恢复在线挑战中的演示文稿错误
示例输入
2
world
hello
示例输出
hello
world
答案 0 :(得分:1)
演示错误只是意味着您提供o / p的方式与robo评委的数据库不匹配。
只需通过在预期答案中犯一些错误,找出实际的o / p shold如何呈现,然后你就可以纠正它。
答案 1 :(得分:0)
首选动态分配。因为,如果用户需要输入超过100个单词或一个单词超过10个字符,他就不能。
提示:man 2 malloc
答案 2 :(得分:0)
#include <stdio.h>
#include <string.h>
int main(){
int num, i, j, result, index;
char name[100][11];
char temp[11];
scanf("%d", &num);
for(i = 0; i < num; i++)
scanf("%s", name[i]);
for(i = 0; i < num; i++)
{
index = i;
for(j = i + 1; j < num; j++)
{
result = strcmp(name[index], name[j]);
if(result > 0)
index = j;
}
strcpy(temp, name[index]);
strcpy(name[index], name[i]);
strcpy(name[i], temp);
}
enter code here
for(i = 0; i < num-1; i++)
{
printf("%s\n", name[i]);
}
printf("%s", name[i]);
return 0;
}