输入n和n个国家名字,按照字典顺序从小到大排序输出!
例如:输入2行,第一行n;第二行n个国家名字,空格间隔。
6
Singapore Zambia Itlay China America Romania
在这里给出相应的输出。例如:
America
China
Itlay
Romania
Singapore
Zambia
这是我的代码
#include
#include
int main(){
int n,i,j;
char str[10][20],*k;
scanf("%d",&n);
for(i=0;iscanf("%s",str[i]);}
for(i=0;i-1;i++)
for(j=0;j-1;j++)
if(strcmp(str[j],str[j+1])>0){strcpy(k,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],k);
}
for(i=0;iprintf("%s\n",str[i]);
return 0;
}
在Dev-c++ 上的运行结果
但是在PTA上会段错误,请赐教
题目有没有约束n的取值范围呢???你定义为10,够用吗?
国家名称,20个字符够用吗?
这就是不好好审题的后果
你不看人家n的取值范围,就随便设置了个10,20,不越界吗