这个程序首先读取用户输入的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;...
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:\...
/将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); ...
特殊要求:任意输入一个数列,先排序由小到大 然后再随意插入一个数,按有小到大排列 思路1:输入数接着存入数组,从新排列。(简单)思路2:排列完大小后插入(复杂)。本程序采用思路1./ int a[256];int i = 0;//p = a;do { scanf("%d",&a[i]);} while(0 != a[i++]); //...
C *p[5];int main(){ /*定义结构数组*/ /*定义指针指向结构体变量*/ C* q; int i,j; printf("Input five countries name:\n"); /*循环输入国家名并存储在结构数组中*/ for(i=0;i<5;i++) { scanf("%s",&raw[i].cou); p[i]=&raw[i]; /* strupr(p[i].cou);*/ } /*冒泡排序...
for(int j=i+1;j<5;j++)当i=0时,j为1到4,也就是说p[0]和p[1]、p[2]、p[3]、[4]依次比较,把最大的求出来放到该数组的第一个元素,即p[0].当i=1时,j为2到4,也就是说p[1]和p[2]、p[3]、p[4]依次比较,把后面四个元素的最大值求出来放到该数组的第二个元素,即...
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;...
你可以把strs直接改成字符串数组,char strs[5][N],但你后面的函数参数类型也要跟着改。如果你不想改动其他函数,还继续使用指针数组,也是可以的。你可以用动态内存来写输入部分:(头文件添加malloc.h)include <stdio.h>#include <malloc.h>#define N 100//每个字符串最大长度int main(){ ...