(1) 输入三个字符串,按从小到大的顺序输出。
#include <stdio.h>
#include <string.h>
//输入三个字符串,按从小到大的顺序输出。
int main()
{
char str[3][100];
int i,j;
char temp[100];
for(i=0;i<3;i++)
gets(str[i]);
for(i=0;i<3;i++)
{
for(j=i+1;j<3;j++)
{
if(strcmp(str[i],str[j])>0)
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
}
printf("the result is:\n");
for(i=0;i<3;i++)
printf("%s\n",str[i]);
return 0;
}
借助指针实现,代码如下:
#include <stdio.h>
#include <string.h>
//输入三个字符串,按从小到大的顺序输出。
int sort(char *str[], int n)
{
int i,j;
char *temp;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(str[i],str[j])>0)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
printf("the result is:\n");
for(i=0;i<3;i++)
printf("%s\n",str[i]);
return 1;
}
int main()
{
char *str[3]={"hello","ilove","an apple"};
sort(str,3);
return 0;
}