c言語——オリンピック参加国の出場順序
1650 ワード
改める前に
オリンピック参加国の出場順序:オリンピック参加国の国名を入力し、辞書順に並べ替える.要求:参加国数は150を超えず、国ごとの名前は9文字を超えない.ヒント:'0'は1文字です.要求:以下の手順の誤りを見つけて修正してください.
#include
#include
#define N 150
#define MAX_LEN 10
void SortString(char str[][MAX_LEN], int n);
int main()
{
int i, n;
char name[N][MAX_LEN];
printf("How many countries?");
scanf("%d",&n);
getchar();
printf("Input their names
");
for(i=0;i
過ちを改める
#include
#include
#define N 150
#define MAX_LEN 10
void SortString(char str[][MAX_LEN], int n);
int main()
{
int i, n;
char name[N][MAX_LEN];
printf("How many countries?");
scanf("%d", &n);
getchar();
printf("Input their names
");
for (i = 0; i < n; i++)
{
gets(name[i]);
}
SortString(name, n);
printf("Sorted results:
");
for (i = 0; i < n; i++)
{
puts(name[i]);
}
return 0;
}
void SortString(char str[][MAX_LEN], int n)
{
int i, j;
char temp[MAX_LEN];
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(str[j], str[i]) > 0)
{
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
}