for循环中While循环的代码说明
Code explanation for a While Loop within a For Loop
有人能向我解释一下,如果您输入以下值:5、222、2043、29、2、20035,为什么下面程序的输出是22222吗?我正试图在纸上解决它,但我就是达不到这个结果。
#include <iostream>
using namespace std;
int n=0;
int x=0;
int s=0;
int i=1;
int main() {
cin >> n;
for(i=1; i<=n; i++) {
cin >> x;
int nr=1;
while(x>9) {
nr=nr*10;
x=x/10;
}
s=s+x*nr;
}
cout << s;
return 0;
}
while循环每次将x除以10。由于您处理的是整数,所以只需将十进制数字1向右移动:7234 -> 723
。它一直这样做,直到它小于10,或者换句话说,还有一个(第一个)数字:7。然后再乘以10^(乘以10):7000。
这意味着,for循环中的white代码使每个x中除前几位外的所有数字都为零。因此,最终您将获得:200 + 2000 + 20 + 2 + 20000
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 为什么在这个代码结束循环中没有得到结束
- 下面是我为检测链接列表中的循环而制作的代码
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 在java中解决这段代码时面临循环中的问题
- 如何通过替换顺序代码的while循环来添加OpenMP for循环
- 我的代码运行良好,但在游戏循环中中断
- 如何使用递归循环我的代码(当用户输入无效输入时,它会再次提示他们)?
- 如何编译使用循环引用的代码?
- 我正在尝试创建一个菜单,但我的代码一直在循环
- 使用基于数组和范围的 For 循环替换一些基本代码行
- 为什么这段代码会导致无限循环?
- 如果代码包含多个复杂度循环,如何计算复杂度
- 无休止的 do while 循环C++代码
- 循环代码错误C++
- C++ while 循环代码的含义
- 如何将查找组合的几个循环代码转换为递归方法
- 如何使用MySQL将c++for循环代码加速到查询中
- 如何将一系列if/else-if/else-if/关系链转换为线性循环代码
- 当我所做的只是将循环代码移动到函数中时,代码运行速度会慢10倍