在主函数里面输入十个不等长的字符串,用函数对他们进行排序,并在主函数中进行输出。
#include<stdio.h>
#include<stdlib.h>
void swap(char (*p)[20],char (*q)[20]){
int i,temp,j;
for(i=0;i<9;i++){
for(j=i+1;j<10;j++){
if(strcmp(*(p+i),*(q+j))>1) {
temp=*(*(p+i));
*(*(p+i))=*(*(q+j));
*(*(q+j))=temp;
} }
}
return;
}
int main(){
char a[10][20];
int i,j;
printf("请输入十个字符串:\n");
for(i=0;i<10;i++){
scanf_s("%s",a,19);
}
swap(a,a);
printf("输出:\n");
for(i=0;i<10;i++){
for(j=0;a[i][j]!='\0';j++){
printf("%c",a[i][j]); }
printf("\n");
}
return 0;
}
运行的结果:
应该改哪里呢?