c语言使用循环语句实现自然数1~99的遍历

c语言使用循环语句实现自然数1~99的遍历,第1张

在 C 语言中,可以使用 for 循环语句来实现自然数1~99的遍历,如下所示:

Copy code

#include <stdio.h>

int main() {

for (int i = 1i <= 99i++) {

printf("%d ", i)

}

return 0

}

以上慧悔代码中,使用 for 循环遍历自然数199,循环变量 i 从1开棚丛始,每次递增1,直到i等于99时,for 循环结束。在循环体中,打印 i 的值,使用 printf 函数输出到终端。执行程前和正序将输出自然数199的遍历结果。

因为数组是从0开始算起的

所以a[2][3]数起来是

第0行和第1行

第0列,第1列,第2列

i表模兆示的是行,当初始化i=0时表示的是第0行,当i++之后,i=1时表示的是第1行,已经表示完数组的行数了,当i=2时已经数组越界了~所以i〈旦圆租2这里和〈腔伍=1效果是一样的

同理

可解释j

思路1:

写出所有24种4个数的排列,存到一个数组里,假如数组是P[24][4];

那么可以

for

(i

=

0

i

<

24

i++)

for

(j

=

0

j

<

24

j++)

for

(k

=

0

k

<握友绝

24

k++)

三层循环,P[i],P[j],P[k]分别是矩阵的三个列

思路2:

利用dfs递归枚举

int

used[3][4]/*这个数组存放三个列中0~3这四个数是否已在这一列中出现过,需要提前清零*/

int

mat[3][4]/*要枚举的矩阵*/

void

dfs(int

col,

int

row)/*col表示现在已经搜索到哪一列(从0开始编号),row表示这一列已经填了几行*/

{

int

i

if

(col

==

2

&&

row

==

4)

{

....../告橡*运行到这里的时候,mat就是枚举段姿到的一个矩阵*/

return

}

if

(row

==

4)

{row

=

0

col++}

for

(i

=

0

i

<

4

i++)

if

(!used[col][i])

{

used[col][i]

=

1

mat[col][row]

=

i

dfs(col,

row

+

1)

used[col][i]

=

0

}

return

}

调用的时候调用dfs(0,0)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12401075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存