跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/06 08:51:25
跪求帮忙分析一下程序的含义,运行结果是用插入法对数组a降序排序,但不知循环里面到底是什么意思
#include "stdio.h"
void main ()
{
int a[5]={4,7,2,5,1},i,j,m;
for(i=1;i=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=m;
}
for(i=0;i
#include "stdio.h"
void main ()
{
int a[5]={4,7,2,5,1},i,j,m;
for(i=1;i=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=m;
}
for(i=0;i
m先把a[i]的值存放起来;
j=i-1;就是使a[j]成为a[i]左边的那个元素;
while(j>=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
这个循环就是把a[i]的值不断和左边的值做比较,如果左边的值是小于它的,就把那个值往右移动一个位置,当找到一个比a[i]的值大的值时,循环就会停止,这时a[j]指向的是比a[i]大的那个值.
a[j+1]=m;
最后这里,就是把m(原来a[i]的值)放在比它大的那个值的右边
下面,for循环继续执行
j=i-1;就是使a[j]成为a[i]左边的那个元素;
while(j>=0&&m>a[j])
{
a[j+1]=a[j];
j--;
}
这个循环就是把a[i]的值不断和左边的值做比较,如果左边的值是小于它的,就把那个值往右移动一个位置,当找到一个比a[i]的值大的值时,循环就会停止,这时a[j]指向的是比a[i]大的那个值.
a[j+1]=m;
最后这里,就是把m(原来a[i]的值)放在比它大的那个值的右边
下面,for循环继续执行
对数组a中的数据进行降序排序的程序的填空
用冒泡排序法对偶数下标的数组元素进行升序排列用选择排序法对奇数下标的数组元素进行降序排列
以下程序运行后的输出结果是什么 A ,0 -1 B,0 0 C,-2 -2 D,死循环
帮忙分析一下下面这道程序的运行详细运行过程(因为是笔试试题)
C语言编程 将a[10]数组中10个数分别按升序和降序排列的程序.
以有一个已排好的数组,今输入一个数,要求按原来排序的规律将它插入数组中?求其算法或c语言程序?
JAVA编写程序,对英文单词按照字母顺序进行排序(升序or降序)
C语言求一简单程序,二维数组矩阵,按降序排列,输入矩阵?
运行下列程序,显示的结果是( ).
下面程序的运行结果是_______
下面程序运行后的输出结果是
下列程序运行后的输出结果是