ZJGSU OJ 2475 字符串排序(指针做法)
日期: 2020-12-08 分类: 跨站数据测试 403次阅读
PS看不懂的部分百度
题目描述
编写一个书名排序程序,在主函数中输入n(n<=10)个书名存入一个二维数组,用函数void sort(char *name[],int n)实现他们的字典顺序,并用函数print(char *name[],int n)输出n个书名。
输入
第一行为整数n,后面n行是n个字符串表示的书名。
输出
排序后的书名,每行一个。
样例输入
5
Follow me
BASIC
Great Wall
FORTRAN
Computer
样例输出
BASIC
Computer
FORTRAN
Follow me
Great Wall
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
int n;
char *str[1000];
void print(char *name[],int n);
void sort(char *name[],int n);
scanf("%d", &n);
getchar();
for(int i=0; i<n; i++){
str[i]=(char *)malloc(4);
gets(str[i]);
}
sort(str,n);
print(str,n);
return 0;
}
void sort(char *name[],int n){
int i,j,p;
char tmp[1000];
for(i=0; i<n-1; i++){
p=i;
for(j=i+1; j<n; j++)
if (strcmp(name[p],name[j])>0) p=j;
if (p!=i){
strcpy(tmp,name[p]);strcpy(name[p],name[i]);strcpy(name[i],tmp);
}
}
}
void print(char *name[],int n){
int i;
for ( i = 0; i < n; i++){
printf("%s",name[i]);
if (i<n-1) printf("\n");
}
}
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:c语言
精华推荐