输入三个整数,按有小到大的顺序输出,然后将程序改为:输入撒播个字符串,按由小到大顺序输出(用指针方法)

2024-11-19 12:41:51
推荐回答(1个)
回答(1):

#include

main()

{

 int s[3],*p,i,j;

 for(i=0;i<3;i++)

   scanf("%d",&s[i]);

 printf("=== After sort ===\n");

 for(i=0;i<2;i++)

   for(j=0;j<2-i;j++)

     if(s[j]>s[j+1])

     {p=s[j];s[j]=s[j+1];s[j+1]=p;}

 for(i=0;i<3;i++)

   printf("%d ",s[i]);

 printf("\n");

}


#include

main()

{

 char s[3][80],*p[3],*q,i,j;

 for(i=0;i<3;i++)

 {

  gets(s[i]);

  p[i]=s[i];

 }

 printf("=== After sort ===\n");

 for(i=0;i<2;i++)

   for(j=0;j<2-i;j++)

     if(strcmp(s[j],s[j+1])>0)

     {q=p[j];p[j]=p[j+1];p[j+1]=q;}

 for(i=0;i<3;i++)

   puts(p[i]);

}