新手提问

水色佛陀 2019-05-15 05:30:04

原题:
描述

对输入的多个国家名按照字典序进行排序。

输入

多个国家名称,每行一个,不含有多余的字符。

输出

排序后的结果。每行一个国家名。

输入样例 1

China
Usa
United Kingdom

输出样例 1

China
United Kingdom
Usa

提示

国家个数不超过100个。

每个国家名称字符个数不超过100.
问题:这题我不知道的地方就是输入,题目没有要求用什么终止输入,我担心随便设计一个终止输入的符号(如:end)会导致系统判错。所以我希望有大神指导一下该怎么终止输入,在没有多余的符号的前提下。 对了,请用c语言
...全文
128 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
636f6c696e 2019-05-16
  • 打赏
  • 举报
回复
EOF一般用在文件,控制台要输入EOF和环境相关,例如linux是ctrl+D
Engureggg 2019-05-15
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

int main()
{
	int i=0;
    char name[10][20];
	while(scanf("%s",name[i++])!=EOF) {}
	
	//name[10][20]字典排序 
}
输入结束时,scanf函数返回值是EOF,即没有数据输入时则退出while循环
水色佛陀 2019-05-15
  • 打赏
  • 举报
回复
引用 1 楼 636f6c696e的回复:
题目问题呗,题目自己都没明确终止符,你怎么做都可能是错的 根据题目描述,建议以空行作为终止符
是指enter键吗,可是不行啊 这是我的代码,麻烦你看一下,没写完,只是输入的部分 #include<stdio.h>
#define N 100

int main()
{
char str[N][N];
int i=0,j;
gets(str[0]);
while(str[i]!='\n')
{
i+=1;
gets(str[i]);
}
for(j=0;j<i;j++)
{
puts(str[j]);
}
return 0;
}
636f6c696e 2019-05-15
  • 打赏
  • 举报
回复
题目问题呗,题目自己都没明确终止符,你怎么做都可能是错的 根据题目描述,建议以空行作为终止符

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧