赞
踩
题目:在主函数中输入10个字符串,用另一个函数对他们排序,然后在主函数输出这十个已排好序的字符串。
首先我们先来看,对十个等长的字符串进行编写。
#include<stdio.h> #include<string.h> //引用字符函数 int main() { void sort(char s[][6]); int i; char str[10][6]; printf("输入十个等长的字符串:\n"); for(i=0;i<10;i++) scanf("%s",str[i]); sort(str); printf("排序后结果是:\n"); for(i=0;i<10;i++) printf("%s\n",str[i]); return 0; } void sort(char s[10][6]) { int i,j; char *p,temp[10]; p=temp; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(strcmp(s[j],s[j+1])>0) //s[j]的字符串大于s[j+1]时输出正整数 { strcpy(p,s[j]); strcpy(s[j],s[j+1]); strcpy(s[j+1],p); } }
#include<stdio.h> #include<string.h> int main() { void sort(char (*p)[6]); int i; char str[10][6]; char (*p)[6]; printf("输入十个等长的字符串:\n"); for(i=0;i<10;i++) scanf("%s",str[i]); p=str; sort(str); printf("排序后结果是:\n"); for(i=0;i<10;i++) printf("%s\n",str[i]); return 0; } void sort(char (*s)[6]) { int i,j; char temp[6],*t=temp; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(strcmp(s[j],s[j+1])>0) { strcpy(t,s[j]); strcpy(s[j],s[j+1]); strcpy(s[j+1],t); } }
以上两种方法是对等长字符串进行编写,并排序的。我们先来看看运行结果。
那么如果我们需要输入不等长的字符串时,应该如何操作呢?
大家可以前往博主的另一篇文章观看:不等长字符串程序
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。