C语言程序设计:1、输入三个字符串,查找最小字符串并输出该字符串。

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:14:00

#define MAX 20
#include <stdio.h>
void shellsort(char *a[],int n);
int main(){
int i;
char* p[3];
for(i=0;i<3;i++)
{
printf("输入第%d个:",i+1);
p[i] = (char*)malloc(MAX);
scanf("%s",p[i]);
}
shellsort(p,3);
printf("最小的是:%s\n",p[0]);
getch();
return 0;
}
void shellsort(char *a[],int n)
{
char *temp,j,i,m;
for(m=0;m<n-1;m++)
for(j=0;j<n-1-m;j++)
for(i=0;*(a[j]+i) != '\0';i++)
{

if(*(a[j+1]+i) == '\0' || *(a[j]+i)>*(a[j+1]+i))
{
temp = *(a+j);
*(a+j) =*(a+j+1);
*(a+j+1) = temp;
break;
}
if(*(a[j]+i)<*(a[j+1]+i))
{
break;
}
}

}