Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_rust
提交
c9d9d68c
S
skill_tree_rust
项目概览
CSDN 技术社区
/
skill_tree_rust
通知
32
Star
7
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
c9d9d68c
编写于
8月 16, 2022
作者:
jackymao.com
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add fizzbuzz example
上级
59fa3a46
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
102 addition
and
0 deletion
+102
-0
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/config.json
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/config.json
+11
-0
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/fizzbuzz.json
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/fizzbuzz.json
+8
-0
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/fizzbuzz.md
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/fizzbuzz.md
+83
-0
未找到文件。
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/config.json
0 → 100644
浏览文件 @
c9d9d68c
{
"node_id"
:
""
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"fizzbuzz.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
\ No newline at end of file
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/fizzbuzz.json
0 → 100644
浏览文件 @
c9d9d68c
{
"type"
:
"code_options"
,
"author"
:
"jackymao_com"
,
"source"
:
"fizzbuzz.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
""
}
\ No newline at end of file
data/1.rust初阶/5.Rust初阶实战/1.fizzbuzz/fizzbuzz.md
0 → 100644
浏览文件 @
c9d9d68c
# fizzbuzz
现在你了解了 Rust 的基础,先试着自己写一个 fizzbuzz 程序,规则如下:
从 1 打印到 100, 当数字能被 3 整除时,打印 fizz, 能被 5 整除时,打印 buzz, 能被 15 整除时,打印 fizzbuzz, 否则,直接打印数字。
先自己写完再来对照下面的写法并答题。
以下打印 fizzbuzz 的程序,不能正确输出结果的是:
## 答案
```
rust
fn
main
()
{
(
1
..=
100
)
.map
(|
i
|
{
if
i
%
15
==
0
{
println!
(
"fizzbuzz"
);
}
else
if
i
%
3
==
0
{
println!
(
"fizz"
);
}
else
if
i
%
5
==
0
{
println!
(
"buzz"
);
}
else
{
println!
(
"{}"
,
i
);
}
});
}
```
### map 是惰性求值,不能直接输出,使用 for_each 可正确运行
```
rust
fn
main
()
{
(
1
..=
100
)
.for_each
(|
i
|
{
if
i
%
15
==
0
{
println!
(
"fizzbuzz"
);
}
else
if
i
%
3
==
0
{
println!
(
"fizz"
);
}
else
if
i
%
5
==
0
{
println!
(
"buzz"
);
}
else
{
println!
(
"{}"
,
i
);
}
});
}
```
### 使用 for 循环和 if else 条件判断
```
rust
fn
main
()
{
for
i
in
1
..=
100
{
if
i
%
15
==
0
{
println!
(
"fizzbuzz"
);
}
else
if
i
%
3
==
0
{
println!
(
"fizz"
);
}
else
if
i
%
5
==
0
{
println!
(
"buzz"
);
}
else
{
println!
(
"{}"
,
i
);
}
}
}
```
### 使用 for 循环和 match 匹配
```
rust
fn
main
()
{
for
i
in
1
..=
100
{
match
(
i
%
3
==
0
,
i
%
5
==
0
)
{
(
true
,
true
)
=>
println!
(
"fizzbuzz"
),
(
true
,
false
)
=>
println!
(
"fizz"
),
(
false
,
true
)
=>
println!
(
"buzz"
),
(
false
,
false
)
=>
println!
(
"{}"
,
i
),
}
}
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录