用指向指针的指针的方法对5个字符串排序并输出。要求用指针方法处理。
#define LINEMAX20 /*定义字符串的最大长度*/ int main() {int i; char **p,*pstr[5],str[5][LINEMAX]: for(i=0;i<5;i++) pstr[i]=str[i]; /*将第i个字符串的首地址赋予指针数组pstr的第i个元素*/ printf(“input 5 strings:\n"); for(i=0;i<5;i++) scanf("%s",pstr[i]); p=pstr; sort(p); printf("strings sorted:\n"); for(i=0;i<5;i++) printf("%s\n",pstr[i]); } sort(char **p) /*冒泡法对5个字符串排序函数*/ {int i,j; char *temp; for(i=0;i<5;i++) {for (j=i+1;j<5;j++) {if(strcmp((p+i),*(p+j))>0) /*比较后交换字符串地址*/ {temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } } } return 0; }
#define LINEMAX20 /*定义字符串的最大长度*/
int main()
{int i;
char **p,*pstr[5],str[5][LINEMAX]:
for(i=0;i<5;i++)
pstr[i]=str[i]; /*将第i个字符串的首地址赋予指针数组pstr的第i个元素*/
printf(“input 5 strings:\n");
scanf("%s",pstr[i]);
p=pstr;
sort(p);
printf("strings sorted:\n");
for(i=0;i<5;i++)
printf("%s\n",pstr[i]);
}
sort(char **p) /*冒泡法对5个字符串排序函数*/
{int i,j;
char *temp;
{for (j=i+1;j<5;j++)
{if(strcmp((p+i),*(p+j))>0) /*比较后交换字符串地址*/
{temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
return 0;
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题