c语言升序排列,c语言升序排列代码

dfnjsfkhak 10 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言升序排列问题,于是小编就整理了3个相关介绍c语言升序排列的解答,让我们一起看看吧。

  1. C语言:任意输入10个数,先将其按由大到小的顺序排列;再输入一个数,要求用折半查找法找出该数是数组?
  2. C语言将数组a中的10个整数降序排列并输出,如何编程?
  3. C语言,输入五个国家的名字(英文),按字母顺序(即按ASCII码从小到大的顺序)排列输出?

C语言:任意输入10,先将其按由大到小的顺序排列;再输入一个数,要求折半查找法找出该数是数组

【例】把一个整数大小顺序插入已排好序的数组中。

为了把一个数按大小插入已排好序的数组中,应首先确定排序是从大到小还是从小到大进行的。设排序是从大到小进序的,则可把欲插入的数与数组中各数逐个比较,当找到第一个比插入数小的元素i时,该元素之前即为插入位置然后从数组最后一个元素开始到该元素为止,逐个后移一个单元。最后把插入数赋予元素i即可。如果***入数比所有的元素值都小则插入最后位置。

main()

c语言升序排列,c语言升序排列代码-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

{

inti,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};

for(i=0;i<10;i++)

c语言升序排列,c语言升序排列代码-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

{p=i;q=a[i];

for(j=i+1;j<10;j++)

if(q<a[j]){p=j;q=a[j];}

c语言升序排列,c语言升序排列代码-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

if(p!=i)

{

C语言将数组a中的10个整数降序排列并输出,如何编程

对于少数的数字的排列,可以通过简单的if嵌套语句便可将所有情况列举出来;但是一旦要比较的数字较多,这种方法便缺少了可执行性;因此,我们可以***用数组的思想来进行编程;此处以:将10个数按从小到大排列输出 举例:#include"stdio.h"#define N 10int main (){ int a[N]; int i,j,t; printf("Please input %d numbers:\n",N); for(i<0;i<N;i++) { scanf("%d",&a[i]); } for(i=1;i<=N-1;i++) { for(j=0;j<N-i;j++) { if(a[j]>a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; } } } printf("The resortrd numbers is :\n"); for(i=0;i<N;i++) { printf("%-4d",a[i]); }}附:程序开头***用了定义一个宏常量的方法,可以通过改变该常量来对程序进行整体的改变;增加了程序的灵活性,方便对源程序进行修改;如果要按从大到小的排列方式进行排列,仅仅需要更改程序中的一处,此处便不再详细说明,自己探讨^_^

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语言升序排列的3点解答对大家有用

标签: 数组 排列 语言