在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输
出这10个已排好序的字符串。要求用指针方法处理。
1. #include<stdio.h> #include<string.h> int main() {void sort(char s[][6]); int i; char str[10][6]; printf("input 10 strings:\n'); for(i=0;i<10;i++) scanf("%s",str[i]); sort(str); printf("Now,the sequence is:\n”); for(i=0;i<10;i++) printf("%s\n",str[i]); return 0; } void sort(char s[10][6]) {int i,j: char*p,temp[10]; p=temp: for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(strcmp(s[j],s[j+1])>0) {strcpy(p,s[j]); strcpy(s[j],s[+j+1]); strcpy(s[j+1],p); } } 2. #include<stdio.h> #include<string.h> int main() {void sort(char(*p)[6]); int i; char str[10][6]; char(*p)[6]; printf("input10 strings:\n'); for(i=0;i<10;i++) scanf("%s",str[i]); p=str; sort(p); printf("Now,the sequence is:\n'"); for(i=0;i<10;i++) printf("%s\n",str[i]): return 0; } void sort(char(*s)[6]) {int i,j; char temp[6],*t=temp; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(strcmp(s[j].s[j+1])>0) {strcpy(t,s[j]); strcpy(s[j],s[+j+1): strcpy(s[j+1],t; } }
1.
#include<stdio.h>
#include<string.h>
int main()
{void sort(char s[][6]);
int i;
char str[10][6];
printf("input 10 strings:\n');
for(i=0;i<10;i++)
scanf("%s",str[i]);
sort(str);
printf("Now,the sequence is:\n”);
printf("%s\n",str[i]);
return 0;
}
void sort(char s[10][6])
{int i,j:
char*p,temp[10];
p=temp:
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(strcmp(s[j],s[j+1])>0)
{strcpy(p,s[j]);
strcpy(s[j],s[+j+1]);
strcpy(s[j+1],p);
2.
{void sort(char(*p)[6]);
char(*p)[6];
printf("input10 strings:\n');
for(i=0;i<10;i++)
p=str;
sort(p);
printf("Now,the sequence is:\n'");
printf("%s\n",str[i]):
void sort(char(*s)[6])
{int i,j;
char temp[6],*t=temp;
for(i=0;i<9;i++)
if(strcmp(s[j].s[j+1])>0)
{strcpy(t,s[j]);
strcpy(s[j],s[+j+1):
strcpy(s[j+1],t;
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题