void StrSort(char *p[N],int n)
【输入形式】
循环输入四个字符串。每输入完一个按回车。
【输出形式】
输出排序后的四个字符串。
【样例输入】
HU
KOBE
BRYANT
CCZU
【样例输出】
HU
KOBE
CCZU
BRYANT
#include <stdio.h>
#include <string.h>
#define N 4
void StrSort(char *p[N],int n)
{
int num[4],i,j ;
char t[100];
for(i = 0; i< 4 ; i++)
{
num[i] = strlen(p[i]);
}
for(i = 0 ; i<3;i++)
{
for(j = 0 ; j<3-i ;j++)
{
if(num[j] >num[j+1] )
{
strcpy(t , p[j]);
strcpy(p[j] , p[j+1]);
strcpy(p[j+1] , t);
}
}
}
}
int main(void)
{
char a[100], b[100] ,c[100], d[100];
char *str[4] = {a,b,c,d};
int i;
for( i = 0 ; i < 4; i++) gets(str[i]);
putchar('\n');
StrSort(str, 0);
for( i= 0 ; i<4 ; i++)
{
puts(str[i]);
}
return 0;
}
给你改了一下,你看排序那里就懂了
#pragma warning(disable:4996)
#include <stdio.h>
#include <string.h>
#define N 4
void StrSort(char* p[N], int n)
{
int num[4], i, j,temp;
char t[100];
for (i = 0; i < 4; i++)
{
num[i] = strlen(p[i]);
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3 - i; j++)
{
if (num[j] > num[j + 1])
{
strcpy(t, p[j]);
strcpy(p[j], p[j + 1]);
strcpy(p[j + 1], t);
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
}
int main(void)
{
char a[100], b[100], c[100], d[100];
char* str[4] = { a,b,c,d };
int i;
for (i = 0; i < 4; i++) gets(str[i]);
putchar('\n');
StrSort(str, 0);
for (i = 0; i < 4; i++)
{
puts(str[i]);
}
return 0;
}
望采纳,谢谢!