c - 在 for 循环中减少的更清洁的解决方案
问题描述
for (int x = 0; x < 16; x=x + 5){
for (int y = x + 4; y >= x; y--){
printf("The integer is %d\n", y);
}
}
上述代码递减 5 次,然后向前跳 5 位并重复该过程,以此类推。
这是解决问题的可接受方法,还是有更清洁的解决方案,可能不需要嵌套的 for 循环。它按原样完成工作,但似乎有些复杂。
包含的输出用于演示所需的模式:
The integer is 4
The integer is 3
The integer is 2
The integer is 1
The integer is 0
The integer is 9
The integer is 8
The integer is 7
The integer is 6
The integer is 5
The integer is 14
The integer is 13
The integer is 12
The integer is 11
The integer is 10
The integer is 19
The integer is 18
The integer is 17
The integer is 16
The integer is 15
解决方案
您可以像这样使用模数和除法。请注意,边界也必须更改,否则输出将不相同!
#include <stdio.h>
int main(void) {
for (int x = 0; x < 20; x ++) {
printf("The integer is %d\n", x / 5 * 5 + 4 - x % 5);
}
}
如果您认为代码需要解释,那么您的版本会更好。至少在我看来是这样。
推荐阅读
- python - 如何修复由 Python 中的函数引起的这个无限循环?
- android - 如何根据用户输入从可变资源字符串名称填充微调器?
- java - 覆盖超类中的私有方法-有办法吗?
- java - Selenium/Java - 将数据写入 Excel
- python - 为什么我不能从网络数据流创建文件对象
- turfjs - 在 turfjs 中创建多个多边形的并集的最快方法是什么?
- pandas - 如何根据数据框列中的列表值创建多个标志列?
- r - createDataPartition 中的错误....:y 必须至少有 2 个数据点
- vhdl - VHDL的doxygen文档的LaTeX输出错误?
- python - 如何阻止 Django 在本地提供文件?