1楼:匿名用户
选a 第一个for语句执行i=0时 第二个for语句要执行n-1 然后再回到第一个语句
i=1 。。。。。 n-2 。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。
i=n-2。。。。。。。 1.。。
i=n-1。。。。。。。。。结束
2楼:匿名用户
选择法排序 ?次数是 n*(n-1)
for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) {++x; a[i,j]=x; } 什么意思
3楼:百度用户
for(k=0,m=0;i>0&&j>0;i--,j--)的意思是:循环开始时做个:k=0和m=0。
以后每做个循环时都判断一下条件i>0&&j>0成立还是不成立,成立则做循环体,再做i--和j-- 咯~! 这个循环直到i=<0 或j=<0的时候停止咯!!!!!
m+= 的意思就是:m=m+....咯!
x[i-1]-'0'意思是:把x数组的第i-1个字符转成数字!
y[j-1]-'0'也是同样道理了
也不知道你这些**段是干什么的程序里的**了,,,
4楼:匿名用户
对于一个二位数组 嵌套的for循环就是用来输出每一行的各个元素,也就是说用第一层循环控制行,第二层循环控制列;
这个for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) 的意思就是输出n-1行,并且每一行输出i-2个元素。
5楼:oo没有蜡
双重循环嵌套,对一个二维数组进行处理
for(i=1; i<=n;++i) {++x; s+=x;} 这个语句是什么意思,怎么个执行过程?求解答~
6楼:匿名用户
for循环里面的语句表示,这个循环执行了n次,从i=1执行,每i=i+1执行一次,到i=n
大括号里面的表示,x=x+1;s=s+x
整体算式可以表示为:s=s+x+(x+1)+(x+2)+……+(x+n-1)+(x+n)
7楼:匿名用户
假设n为3,x为0,s为0,这个for循环执行时:
i = 1, x = 1, s = s + x = 0 + 1 = 1;
i = 2, x = 2, s = s + x = 1 + 2 = 3;
i = 3, x = 3, s = s + x = 3 + 3 = 6;
其实这样的循环,是可以自己逐步分析得到结果的
8楼:物语星空
for循环i从1到n逐渐增大 x也逐渐增大 (但是x应该有一个初值)
当i=1时 x=x+1 带入下面 s+=x
直到i= n 结束
for(j=0;j
9楼:全凭取决
for(j=0;j来如果j自么执行for循环内的内容,j自加bai一次 j++就是duj=j+1for(i=0;i上
if(a[i]>a[i+1]) //判断a[i]是否zhi大于a[i+1],就是数组dao内前一个数是否大于后一个数,i在这是代表数组的数的序号;如果成立就执行if下的语句,不成立跳出if语句
希望可以帮助你,望采纳!
10楼:匿名用户
for(j=0;ja[i+1]) .......................c
这样写的时候看的也方便下,建议楼主写**的时候注意下常内用格式,这样机房
容白你自己也方便他人。
下面解释意思吧
fou循环的时候后面只允许执行一句的,而这里没有逗号,也就是说,最开始看a句的条件,如果符合则执行b句,执行b句的时候如果符合条件则执行c,其实这就是所谓的嵌套循环
11楼:匿名用户
就是两个循环啊,其实我觉得你是在看排序的**吧,语句没有什么不好理解内
的。关容键是你没有理解怎么排序,所以不能理解。一个循环是表示循环几次,一个循环是表示从第一个到第几个需要进行的操作。这个过程你好好去看下排序的过程自然就会理解了。
12楼:匿名用户
c或c++语句,二次循环,
matlab中a=zeros(2*n,9); for i=1:2:2*n-1 j=(i+1)/2; 是什么意思?急用!谢谢
13楼:匿名用户
解释:a=zeros(2*n,9);是指把2*n行9列的0矩阵赋给a。也就是a为2*n行9列的0矩阵。
for i=1:2:2*n-1 j=(i+1)/2;是for循环,i为1,3,5,7……,2*n-1时(也就是i为奇数),循环内求j的值。循环直到i=2*n-1。
14楼:
a是一个2*n行,9列的零矩阵。循环是指从1开始一直到2*n,每两个,就是1,3,5,7,9……求j的值,j的值依次为1,2,3,4,5
for(i=1;i<=n;++i) for(j=1;j<=n;j++) {c[i][j]=0; for(k=1;k<=n;++k) c[i][j]+=a[i][k]*b[k][j];}
15楼:匿名用户
先整理一下:
for(i=1;i<=n;++i) // 重复n次,o(n)
for(j=1;j<=n;j++) // 又重复n次, o(n)
// 该括号部分语句工作量为版 o(1+n*1)=o(n)// 总的工作量(复杂度)为o(n * n * n)=o(n),简单权的说,并列语句时,工作量相加,涉及到语句的循环时,工作量乘循环次数,所以一般只要看循环多少层就可以了。这里的第三层语句中工作量实际上不都被忽略了吗?
x=0 for(i=1;i
16楼:天云一号
当 i=1时,
x++执行n-2次;
当 i=2时,x++执行n-3次;
当 i=3时,x++执行n-4次;
。。。当 i=n-2时,x++执行1次;
当 i=n-1时,x++执行0次;
所以x++的执行次数为1+2+...+(n-2) = (n-1)*(n-2)/2
故时间复杂度为o(n^2)
17楼:黑色的夢
和冒泡类似,n的平方的时间复杂度
x=0;for(i=1;i
18楼:sunny秋千坠
i=1时 循环n-1
i=2。。。n-2
i=n-1 .... 1
所以1+2+3+。。。n-1=(1+n-1)*(n-1)/2=n^2/2-n/2
所以时间复杂度是0(n^2)
19楼:易燃又好吃
应该是o(n2),(n2表示n的平方……)
20楼:匿名用户
从两个方面对你的问题进行解答:
1.实验。令x=0,y=1,每运行一次x=x+y,x都会加1,所以最后x的值就是其运行值。测试程序如下:
运行结果:
2、从理论说明。外层给定一个n,内部两层就会循环1+2+3+....+n次,所以总的循环次数为:
1+(1+2)+(1+2+3)+(1+2+3+4)+.....(1+2+3+4+.....+n).
这个结果等于多少呢?请看下面数学证明。
证明过程:
数列各项是:
11+2
1+2+3
……1+2+3+……+n
由于:1+2+3+……+n=n(n+1)/2=(n+n)/21+2+……n=n(n+1)(2n+1)/6所以数列各项加起来就是:
s(n)=(1+1)/2+(2+2)/2+(3+3)/2+……+(n+n)/2
=[(1+2+3+……+n)+(1+2+3+……+n)]/2=[n(n+1)(2n+1)/6+n(n+1)/2]/2=n(n+1)[(2n+1)/6+1/2]/2=n(n+1)(n+2)/6
综上,结果为n(n+1)(n+2)/6,时间复杂度为o(n的立方)
k=0; for(i=1;i<=;i++){ for(j=i;j<=n;j++) k++ } k++ 为什么运行了n(n+1)/2 次阿
21楼:匿名用户
两层循环嵌
抄套,为了好bai理解,我标记成a,b
a:for(i=1;i<=n;i++)
第一轮:dua中的i=1,zhib为 for(j=1;j<=n;j++) b运行了1``
``n,所以dao是n次
第二轮:a中的i=2,b为 for(j=2;j<=n;j++) b运行了2````n,所以是n-1次
第三轮:a中的i=3,b为 for(j=3;j<=n;j++) b运行了3````n,所以是n-2次
。。。。
第n轮:a中的i=n,b为 for(j=n;j<=n;j++) b运行了n````n,所以是1次
所以总次数是,1+2+......n(次)= n(n+1)/2
22楼:宇昆鹏皇香
两层循环嵌套,为了好理解,我标记成a,b
a:for(i=1;i<=n;i++)
第一轮:a中的i=1,b为版
for(j=1;j<=n;j++)
b运行了1````n,所权以是n次
第二轮:a中的i=2,b为
for(j=2;j<=n;j++)
b运行了2````n,所以是n-1次
第三轮:a中的i=3,b为
for(j=3;j<=n;j++)
b运行了3````n,所以是n-2次
。。。。
第n轮:a中的i=n,b为
for(j=n;j<=n;j++)
b运行了n````n,所以是1次
所以总次数是,1+2+......n(次)=n(n+1)/2