3. 使用起泡法把给定的十个数按从大到小的顺序排列。要求输出原数列和排序后的数列。

#include <stdio.h>
#define _________________
main()
{
int a[N]={2,6,4,8,34,23,45,67,54,12};
int i , j, tmp;
printf (“original order\n”);
for (i=0; i<=N-1; i++)
printf (“%4d”, ______);
for (i=1; i<=N-1; i++)
for ( j=0; j<=________;j++)
if (____________________){
tmp=a[j];
_______________;
a[j+1]=tmp;
}

#include <stdio.h>
#define N 10
main()
{
int a[N]={2,6,4,8,34,23,45,67,54,12};
int i , j, tmp;
printf ("original order\n");
for (i=0; i<=N-1; i++)
printf ("%4d", a[i]);
printf("\n");
for (i=1; i<=N-1; i++)
for ( j=0; j<=N-1-i;j++)
if (a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-14
#include <stdio.h>
#define N 10
main()
{
int a[N]={2,6,4,8,34,23,45,67,54,12};
int i , j, tmp;
printf ("original order\n");
for (i=0; i<=N-1; i++)
printf ("%4d", a[i]);
printf("\n");
for (i=1; i<=N-1; i++)
for ( j=0; j<=9-i;j++)
if (a[j]<a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
for(i=0;i<N;i++)
printf("%4d",a[i]);
}

3. 使用起泡法把给定的十个数按从大到小的顺序排列。要求输出原数列和排...
define N 10 main(){ int a[N]={2,6,4,8,34,23,45,67,54,12};int i , j, tmp;printf ("original order\\n");for (i=0; i<=N-1; i++)printf ("%4d", a[i]);printf("\\n");for (i=1; i<=N-1; i++)for ( j=0; j<=N-1-i;j++)if (a[j]>a[j+1...

急求帮助,matlab编写程序起泡法对10个数由小到大排序
步骤如下:clc clear all s=[9 8 4 2 7 10 6 1 5 3]; %要排序的数列 Ls=length(s);for i=1:Ls-1 for j=1:Ls-i if s(j)>s(j+1)t=s(j);s(j)=s(j+1);s(j+1)=t;end end end s %输出排序后结果

c语言题:输入四个数a,b,c,d,按从大到小的顺序输出
这类问题一般用起泡法解决。首先编写程序包括头文件。定义数组n为4,主函数开始。设置整型变量i,j,k,指针p,临时变量temp。p指向数组a。输出提示信息要求输入n个数。使用for循环读取输入的n个整数。p指向数组a。输出原始数列。使用嵌套for循环进行冒泡排序。内层循环从i+1到n,比较p+i与p+j的元素...

用c语言:输入10个数,要求输出其中最大的数
方法1:比较法这种方法通过设置一个变量来保存当前已知的最大值,然后遍历输入的10个数,如果发现有比当前最大值更大的数,就更新这个变量。代码中会使用if-else或switch-case结构来实现比较和更新。方法2:起泡法起泡排序算法也可用于找到最大值。通过两两比较相邻的数,如果发现前者大于后者,就交换它...

...从键盘输入10个整数,按从小到大的顺序排序,并输出结果。
否则,不要交换。(2)气泡排序:交换和重复两个相邻数字的过程。一般来说,如果有n个数字要排序,则需要n-1起泡。(3)选择排序:在交换顺序的基础上,找出剩余数量的最大值,并与地面上的I+1数量进行交换,使得每轮比较中只有一次交换操作,该算法最多只有n-1个交换操作。

...输入一维整形数组a[10],将其按由小到大排序后输出
这个应该用起泡法排序算法。include<stdio.h> int main(){ int a[10];int i,j,k;printf("input 10 numbers:\\n");for(i=0;i<10;i++){\/\/输入十个数,一次循环输入10次 scanf("%d",&a[i]);printf("\\n");\/\/换行 for(j=0;j<9;j++)\/\/从小到大换行经典方法四行 for(i=0;i<...

C语言排序
{ \/\/ 按增量序列dlta[0..t-1]对顺序表L作希尔排序。算法10.5 int k; for(k=0;k<t;++k) { ShellInsert(L,dlta[k]); \/\/ 一趟增量为dlta[k]的插入排序 printf("第%d趟排序结果: ",k+1); print(L); } } #define N 10 #define T 3 void main() { RedType d[N]={{49,1},{38,...

编写C程序:用指针数组操作,将输入的5个字符串按从小到大的顺序输出
特殊要求:任意输入一个数列,先排序由小到大 然后再随意插入一个数,按有小到大排列 思路1:输入数接着存入数组,从新排列。(简单)思路2:排列完大小后插入(复杂)。本程序采用思路1.\/ int a[256];int i = 0;\/\/p = a;do { scanf("%d",&a[i]);} while(0 != a[i++]); \/\/...

选择排序算法的思想是什么?
直选排序简单的再现了选择排序的基本思想,第一次寻找最小元素的代价是O(n),如果不做某种特殊处理,每次都使用最简单的寻找方法,自然的整个排序的时间复杂度就是O(n2)了。冒泡法 为了在a[1]中得到最大值,我们将a[1]与它后面的元素a[2],a[3],...,a[10]进行比较。首先比较a[1]与a[2...

用c语言:输入10个数,要求输出其中最大的数
方法1:比较法这种方法通过设置一个变量来保存当前已知的最大值,然后遍历输入的10个数,如果发现有比当前最大值更大的数,就更新这个变量。代码中会使用if-else或switch-case结构来实现比较和更新。方法2:起泡法起泡排序算法也可用于找到最大值。通过两两比较相邻的数,如果发现前者大于后者,就交换...

相似回答
大家正在搜