题目:输入几个字符串,并且给输入的字符串排序。
做题思路:在主函数中输入几个字符串,然后给定义的字符串排序,排序的方法是使用strcmp函数比较两个字符串的大小。
**注:**输入字符串使用malloc函数开辟动态存储
a[i]=(char *)malloc(3*sizeof(int));
数组类型是字符型,在这里用char,然后用for循环依次输入字符串。
代码如下:
#include<stdio.h>
#include<string.h>
#include<Windows.h>
void hanshu(char *a[3])
{
char *t;
int i,j;
for(i=0;i<2;i++)
{
for(j=1;j<3;j++)
if((strcmp(a[i],a[j]))>0)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<3;i++)
{
printf("%s",a[i]);
}
}
void main()
{
int i;
char *a[3]/*={"abcddd","abcdefg","abccd"}*/;
//开辟动态内存输入指针数组
for(i=0;i<3;i++)
{
a[i]=(char *)malloc(3*sizeof(int));
}
for(i=0;i<3;i++)
{
scanf("%s",a[i]);
}
hanshu(a);
system("pause");
}
排序好的结果: