当前位置:首页>开发>正文

用C语言编程序,对任意输入的十个整数按由小到大的的顺序排列,除了冒泡法和选择法,怎么来做这个程序 c语言数组排序问题:输入十个数存于数组中,按从小到大的顺序排序

2023-05-28 05:44:31 互联网 未知 开发

 用C语言编程序,对任意输入的十个整数按由小到大的的顺序排列,除了冒泡法和选择法,怎么来做这个程序 c语言数组排序问题:输入十个数存于数组中,按从小到大的顺序排序

用C语言编程序,对任意输入的十个整数按由小到大的的顺序排列,除了冒泡法和选择法,怎么来做这个程序?

堆排序:2113http://www.brieftime.net/articles/69归并5261排序4102:1653http://www.brieftime.net/articles/74快速排序:http://www.brieftime.net/articles/71都可回以选择答

c语言数组排序问题:输入十个数存于数组中,按从小到大的顺序排序

不要去管那种排列方法,那都是人刻意去分的,其实达到目的就可以了啊。
你管他是“冒泡”还是“沉底”.

至于你问“j=i是什么意思”,赋值语句啊。。只不过2头都是变量而已。
你的第二问,b[i]中的i是个变量,他从0到9.如果不理解,那就去看看for循环的说明,每本书都有的。

C语 从键盘输入10个数,要求按从小到大排列出来

#include "stdio.h" //冒泡法 由小到大排序

main()
{
int i,j,a[10],temp
for(i=0i<10i )
scanf("%d",&a[i])
printf(" ")
for(j=0j<9j )
for(i=0i<9-ji )
if(a[i]>a[i 1])
{ temp=a[i]
a[i]=a[i 1]
a[i 1]=temp
}
for(i=0i<10i )
printf("%d ",a[i])
printf(" ")
}

C语言程序:依次输入十个数、要求按照从小到大的顺序输出

11111111120
22222222230
# include 
#define N 10//元素个数
voidsort(inta[], intn)//排序函数 
{
     inti=0,j=0,temp

     for(i=0 i     {
              for(j=i 1 j              {
                       if(a[j]                       {
                                    temp = a[i]
                                    a[i] = a[j]
                                    a[j] = temp
                       }
              }
     }
}
intmain(void)
{
    intnum[N]
    inti
    for(i=0 i
    sort(num,N)//排序 

    for(i=0 i    return0
}

已经测试过了,测试结果:(有问题可以继续追问)

C语言程序设计: 从用户输入10个整数,对其按照从小到大的顺序排序,并输出结果。

#include<stdio.h>
int main()
{int a[10],i;
for(i=0;i<10;i++) //用于十个元素排例。
scanf(逗%d地,&a[i]);//对十个元素输入数值
for(i=0;i<10;i++)//从小到大排例输入的十个元素。
printf(逗%d地,a[i]);
return 0;
}

C语言用数组,输入十个数,选择法按从小到大排列

1,。将第二个for语句中的for(j=0j<=ij ) 改为for(j=0j<10j )
2.将for(i=0i<9i )改为for(i=0i(同为海淀区学生,加油)

C语言数组问题:对输入的10个整数按从小到大的顺序排列。麻烦哪位高手注解一下下面这个程序,我看不懂

ain()
{ int i,j,p,q,s,a[10]
printf(" input 10 number : ")
for (i=0i<10i )
scanf("%d",&a[i])//输入十个数
for (i=0i<10i )
{ p=iq=a[i]
for (j=i 1j<10j )//和余下的找到个最大的数放在q中同时记录位置放在p中
if (q {p=jq=a[j]}
if (i!=p)//说明找到个最大值
{s=a[i]a[i]=a[p]a[p]=s}
printf("%d,",a[i])
}
getch()
}
老大你这个明显是从大到小排列

(C语言程序)输入10个数,选择排序的方法,由小到大排序。

#include

void selectSort(int array[], int n)
{
int i, j, d
int temp
for(i = 0 i < n - 1 i)
{
d = i //开始一趟选择排序,假定第i个元素是后面n - i 1个未排序的元素中最小的元素
for(j = i 1 j < n j)
if(array[j] < array[d]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标d
d = j

if(d != i) //如果最小元素的下标不是后面n - i 1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
{
temp = array[d]
array[d] = array[i]
array[i] = temp
}
}
}

int main()
{
int i=0,array[10]
for(i = 0i<10i )
{
scanf("%d",&array[i])
}
int size = sizeof(array)/sizeof(int)
selectSort(array, size)

for(i = 0 i < size i)
{
printf("%d ", array[i])
}
printf(" ")
}

c语言关于用简单选择法对输入的10个整数进行由小到大排列

楼主这段代码是这样看得::::
for(i=0i<9i ){
k=i

for(j=i 1j<10j ) /* 循环 注意我打的回车 for 和 if 后面不带 { } 的话 作用范围 只有 后面的一句 */
if(a[j] k=j

if(i!=k){

x=a[i] /*这三行 是交换 a[i] 和 a[k] 的值 k是中间变量 */
a[i]=a[k]
a[k]=x

}
}

最新文章