输入n个字符串(长度小于20)存入二维数组c中,编写程序对其进行排序(由小到大)并按次序输出。

用C语言,然后因为这题是在数组那一单元,所以代码可以不包括指针那些;想不出来怎么写qaq... 用C语言 ,然后因为这题是在数组那一单元,所以代码可以不包括指针那些;想不出来怎么写qaq 展开
 我来答
金色潜鸟
2018-03-10 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5731万
展开全部
假定字符串个数不超过20个,每个字符串长度小于20,开数组 char s[21][20];
最后一个元素 用于做字符串交换时的工作单元。
字符串比较 用 strcmp(), 复制用 strcpy(), 输入用 gets(), 清除输入缓冲器中的剩余字符用 fflush(stdin); 完整 程序如下。
#include <stdio.h>
int main(){
char s[21][20];
int i,j,n;
printf("input n:\n");scanf("%d",&n);
for (i=0;i<n;i++){
printf("input string %d: ",i+1); fflush(stdin);
gets(s[i]);
};
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++){
if (strcmp(s[j],s[i])<0){
strcpy(s[20],s[i]);
strcpy(s[i],s[j]);strcpy(s[j],s[20]);
};
};
for (i=0;i<n;i++)printf("%s\n",s[i]);
return 0;
}
追问
啊啊啊 解决了 非常感谢♪(・ω・)ノ
嬷妮桑
2019-08-12
知道答主
回答量:3
采纳率:0%
帮助的人:2235
展开全部
python版本代码:(此代码忽略长度小于20数组,这边用列表容器)
n = int(input('请输入即将输入的字符串个数\n'))
str_list = []
for i in range(n):
str_list.append(input('请输入第%d字符串\n'))
str_new = []
print("排序前")
print(str_list)
for i in range(n-1):
for j in range(i+1,n):
if(str_list[j] < str_list[i]):
temp_str = str_list[i]
str_list[i] = str_list[j]
str_list[j] = temp_str
print("排序后")
print(str_list)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式