源代码: /将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 ",pcolor[i...
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;...
printf("\nThe sort countries:\n"); /*循环输出*/ for(i=0;i<5;i++) printf("%s\n",p[i]->cou); system("PAUSE"); return 0;} 本回答由网友推荐 举报| 答案纠错 | 评论 4 3 为您推荐: 圆体英文26个字母写法 输入法 圣诞快乐英文 好看的英文字体 输入 英文 26个英文字母表 把…...
你可以把strs直接改成字符串数组,char strs[5][N],但你后面的函数参数类型也要跟着改。如果你不想改动其他函数,还继续使用指针数组,也是可以的。你可以用动态内存来写输入部分:(头文件添加malloc.h)include <stdio.h>#include <malloc.h>#define N 100//每个字符串最大长度int main(){ ...
特殊要求:任意输入一个数列,先排序由小到大 然后再随意插入一个数,按有小到大排列 思路1:输入数接着存入数组,从新排列。(简单)思路2:排列完大小后插入(复杂)。本程序采用思路1./ int a[256];int i = 0;//p = a;do { scanf("%d",&a[i]);} while(0 != a[i++]); //...
不需要再比较下一个字符 } else if(a[i][k]==a[j][k]) continue;//字符相同时,比较下一个字符 else break;//不满足以上也已经比较出两个字符串的大小,不需交换,不需再比较下一个字符 }printf("\n");for(i=0;i<5;i++)printf("%s\n",a[i]);} ...
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;...
k=i;for(j=i+1;j<5;j++)第一个for循环 for(i=0;j<5;i++),改成 for(i=0;i<5;i++)就没问题了 应该是书排版错误,如果是for(i=0;j<5;i++),下面的循环里面j已经等于5了,这个循环只执行了一次,相应的排序也只做了一次,设计肯定不是这样的,因此断定是排版错误,你自己分析...
(p, q) > 0) { strcpy(t, p); strcpy(p, q); strcpy(q, t); } } int main() { char s[5][100]; int i; printf("输入5个字符串:\n"); for(i = 0; i < 5; i++) gets(s[i]); sort(s, 5); printf("排序后的字符串:\n"); for(i = 0; i < 5; i++) puts(s[i...