题目如下:
请用指针数组编程实现按奥运会参赛国国名,在字典中的顺序对其入场次序进行排序。
假设参赛国不超过150个。
我的代码:
#include
#include
#define MAX_LEN 10
#define N 150
void SortString(char *ptr[], int n);
int main()
{
int i, n;
char *pStr[N];
printf("How many countries?\n");
scanf("%d", &n);
getchar();
printf("Input their names:\n");
for (i = 0; i < n; i++)
{
gets(pStr[i]);
}
SortString(pStr, n);
printf("Sorted results:\n");
for (i = 0; i < n; i++)
{
puts(pStr[i]);
}
return 0;
}
void SortString(char *ptr[], int n)
{
int i, j;
char temp;
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(ptr[j] , ptr[i]) < 0 )
{
strcpy(temp , ptr[i]);
strcpy(ptr[j] , ptr[i]);
strcpy(ptr[j] , temp);
}
}
}
}