小明对数位中含有 2、0、1、92、0、1、9 的数字很感兴趣,在 11 到 4040 中这样的数包括 1、2、9、101、2、9、10 至 32、3932、39 和 4040,共 2828 个,他们的和是 574574。
请问,在 11 到 20192019 中,所有这样的数的和是多少?
两个代码,第一个代码中加了布尔函数进行判断,有点多此一举了,但是可以学习一下方法。
#include
using namespace std;
int main()
{
int sum=0;
for(int i=0;i<=2019;i++)
{
bool flag=false;
int temp=i;
while(temp>0)
{
int dd=temp%10;
if(dd==0||dd==1||dd==2||dd==9)
{
flag=true;
break;
}
temp=temp/10;
}
if(flag==true)
{
sum=sum+i;
}
}
cout<
#include
using namespace std;
int main()
{
int sum=0;
for(int i=0;i<=2019;i++)
{
int temp=i;
while(temp>0)
{
int dd=temp%10;
if(dd==0||dd==1||dd==2||dd==9)
{
sum=sum+i;
break;
}
temp=temp/10;
}
}
cout<
在写这个代码的时候,忘记了break与continue的用法,接下来进行复习break与continue。
`break` 和 `continue` 是编程中常用的控制流语句,它们在循环结构中起着重要的作用。以下是对 `break` 和 `continue` 用法的详细解释:
1. 作用:
`break` 语句用于立即跳出当前循环,不再执行循环体内剩余的语句。
如果 `break` 出现在嵌套循环中,它只会跳出最内层的循环。
2. 使用场景:
当满足某个条件时,需要提前结束循环。
在查找、搜索等操作中,一旦找到目标元素,就可以使用 `break` 跳出循环。
3. 示例:
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时,跳出循环
}
cin>>i;
}
// 输出结果:0 1 2 3 4
1. 作用:
`continue` 语句用于跳过当前循环的剩余部分,并立即开始下一次循环迭代。
如果 `continue` 出现在嵌套循环中,它只会影响最内层的循环。
2. 使用场景:
- 当满足某个条件时,需要跳过当前循环的剩余部分,但继续执行后续的循环迭代。
- 在处理数据时,可以对不符合条件的数据进行过滤。
3. 示例:
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 当 i 是偶数时,跳过本次循环的剩余部分
}
cin>>i;
}
// 输出结果:1 3 5 7 9
`break` 和 `continue` 只能用在循环结构中(如 `for` 循环、`while` 循环等),不能用在其他语句中。