C语言,输入五个国家的名字(英文),按字母顺序(即按ASCII码从小到大的顺序)排列输出

急啊啊啊啊啊啊~!!!!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
char cou[15];
}C;
C raw[5];
C *p[5];

int main()
{
/*定义结构数组*/
/*定义指针指向结构体变量*/
C* q;
int i,j;
printf("Input five countries name:\n");
/*循环输入国家名并存储在结构数组中*/
for(i=0;i<5;i++)
{
scanf("%s",&raw[i].cou);
p[i]=&raw[i];
/* strupr(p[i].cou);*/
}
/*冒泡排序将国家名称排序*/
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
/*strcmp函数比较相邻两个国家名的Ascii码*/
if(strcmp(p[j]->cou,p[j+1]->cou)>0)
{
q=p[j];
p[j]=p[j+1];
p[j+1]=q;
}
}

printf("\nThe sort countries:\n");
/*循环输出*/
for(i=0;i<5;i++)
printf("%s\n",p[i]->cou);
system("PAUSE");
return 0;
}
温馨提示:答案为网友推荐,仅供参考