#include<iostream>
#include<cstdio>
using namespace std;
int j ,i,m;
int a[10];
int main()
for(i=2;i<=6;i++)
a[i]-i+l;
do
m=2;
for(i=3;i<=6;i++)
if(a[m]>a[i])m=i;
a[m]=a[m]+m;m=l;
for(i=2;i<=5;i++)
for(j=i+1;j<=6;j++)
if(a[i]<a[j])m=0;
}while(m==0);
printf("%d",a[2]);
return 0;
程序结束时,a[2]的值一定是数组a中的最大值
第 21行“m==0”成立时,数组a[i](2≤i≤6)从大到小排序
程序输出时,a数组满足:对任意的2≤i<6,有a[i]>a[i+1]。
删除第16行代码“m=1"程序结果会发生改变。
程序的输出结果为
58
59
61
60
此程序的时间复杂度是
.0(n3)
0(n log n)
0(n2)
0(n)
发表评论