这个程序首先读取用户输入的5个字符串,然后使用qsort函数根据字符串的长度对它们进行排序,并最后输出排序后的字符串。希望这个解答对你有帮助!
char *a[5], b[5][99], **p;int i;for (i = 0; i < 5; i++)a[i] = b[i];printf("请依次输入五个字符串:\n");for (i = 0; i < 5; i++)scanf("%s", a[i]);p = a;sort(p);printf("排序后输出为:\n");for (i = 0; i < 5; i++){ printf("%s\...
define M 5 define N 20 void main(){ char str[M][N],temp[N];int i,j;for(i=0;i<M;i++){ printf("请输入第%d个字符串:",i+1);scanf("%s",&str[i]);} printf("排序前:\n");for(i=0;i<M;i++)printf("第%d个字符串:%s\n",i+1,str[i]);for(j=0;j<M-2;...
源代码: 源代码: /将5个字符串从小到大排序后输出(用指针数组实现)/ #include<stdio.h> #include<string.h> void fsort(char*color[],int n); int main(void) { int i; char *pcolor[]={"red","blue","yellow","green","black"}; fsort(pcolor,5); for(i=0;i<5;i++) printf("%s ",...
include<string.h> void main(){ char a[5][20];char *p[5];int i,j;char *t;for(i=0;i<5;i++){ p[i]=a[i];gets(p[i]);} for(i=0;i<5;i++){ for(j=i+1;j<5;j++){ if(strcmp(p[i],p[j])>0){ t=p[i];p[i]=p[j];p[j]=t;} } } for(i=0;...
include<string.h> int main(){char s[6][20];int i,j;for(i=0;i<5;i++)scanf("%s",s[i]);for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(strcmp(s[j],s[j+1])>0){strcpy(s[5],s[j]);strcpy(s[j],s[j+1]);strcpy(s[j+1],s[5]);} printf("After sort:\...
然后再随意插入一个数,按有小到大排列 思路1:输入数接着存入数组,从新排列。(简单)思路2:排列完大小后插入(复杂)。本程序采用思路1./ int a[256];int i = 0;//p = a;do { scanf("%d",&a[i]);} while(0 != a[i++]); //正确的输入方式 order(a);i = 0;do { pri...
int main(){ char str[5][20],temp[20];int i,j,k,len[5],t;printf("输入五个字符串:");for(i=0; i<5; i++){ scanf("%s",str[i]);len[i] = strlen(str[i]);} for(i=0; i<4; i++){ k = i;for(j=i+1; j<5; j++){ if(len[k] > len[j]){ k = j...
你可以把strs直接改成字符串数组,char strs[5][N],但你后面的函数参数类型也要跟着改。如果你不想改动其他函数,还继续使用指针数组,也是可以的。你可以用动态内存来写输入部分:(头文件添加malloc.h)include <stdio.h>#include <malloc.h>#define N 100//每个字符串最大长度int main(){ ...
int main(){int i;char**p,*pstr[5],str[5][LINEMAX];for(i=0;i<5;i++)pstr=str;/*将第i个字符串的首地址赋予指针数组pstr的第i个元素*/ printf("input 5 strings:\n");for(i=0;i<5;i++)scanf("%s",pstr);p=pstr;sort(p);printf("strings sorted:\n");for(i=0;i<5...