大家好,今天小编关注到一个比较有意思的话题,就是关于c语言从小到大排列的问题,于是小编就整理了1个相关介绍c语言从小到大排列的解答,让我们一起看看吧。
C语言,输入五个国家的名字(英文),按字母顺序(即按ASCII码从小到大的顺序)排列输出?
typedef struct{char cou[15];}C;C raw[5];C *p[5];void main(){/*定义结构数组*//*定义指针指向结构体变量*/C* q;int i,j;printf("input countries:\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("\n");/*循环输出*/for(i=0;i<5;i++)printf("%s ",p[i].->cou);getch();}想用指针的话利用指针数组排序就行了,另外上面的比较的是p却对q进行了交换字符串拷贝只能用strcpy了
到此,以上就是小编对于c语言从小到大排列的问题就介绍到这了,希望介绍关于c语言从小到大排列的1点解答对大家有用。