C语言比较数列中前后两个元素的大小
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/27 21:37:31
C语言比较数列中前后两个元素的大小
例如有一数组{1.3.5.4.2},输出前一元素比后一元素大的情况,即:例子输出结果应为:(3,2),(5,4),(5,2),(4,2).这样的程序如何用C语言表达?
例如有一数组{1.3.5.4.2},输出前一元素比后一元素大的情况,即:例子输出结果应为:(3,2),(5,4),(5,2),(4,2).这样的程序如何用C语言表达?
![C语言比较数列中前后两个元素的大小](/uploads/image/z/19463426-26-6.jpg?t=C%E8%AF%AD%E8%A8%80%E6%AF%94%E8%BE%83%E6%95%B0%E5%88%97%E4%B8%AD%E5%89%8D%E5%90%8E%E4%B8%A4%E4%B8%AA%E5%85%83%E7%B4%A0%E7%9A%84%E5%A4%A7%E5%B0%8F)
#include <stdio.h>
void main()
{
int a[]={1,3,5,4,2};
int i,j;
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
{
if (a[i]>a[j])
printf("(%d,%d)",a[i],a[j]);
}
}
再问: 这个方法消耗的时间为数列长度的平方,即5²。有没有比这个消耗时间更短的方法呢?谢谢。
再答: 明明是4+3+2+1=10次,怎么会是25次
void main()
{
int a[]={1,3,5,4,2};
int i,j;
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
{
if (a[i]>a[j])
printf("(%d,%d)",a[i],a[j]);
}
}
再问: 这个方法消耗的时间为数列长度的平方,即5²。有没有比这个消耗时间更短的方法呢?谢谢。
再答: 明明是4+3+2+1=10次,怎么会是25次