问题标题: 酷町堂:1961

0
0
已解决
吕梓瑜
吕梓瑜
初级天翼
初级天翼

题目描述 Description

输入正整数 a、b ( 1 < a <= b < 1000 ),求数 a 和数 b 之间最小的可以整除 7 的数并输出。(包括 a 和 b)
如果 a 和 b 之间没有可以整除 7 的数则输出 No 。

输入描述 Input Description

一行: a b

输出描述 Output Description

一行:如果找到符合条件的数则输出该数,否则输出No

样例输入 Sample Input

6 15

样例输出 Sample Output

7

错误代码:

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b;
    for(int i=a;i<=b;i++){
        if(i%7==0)
        {
            cout<<i;
            break;
        }
    } 
    return 0;
}


0
已采纳
朱优扬
朱优扬
中级天翼
中级天翼

定义 a,b;

bool flag=false;

输入>>a>>b;

循环(从1-n){

    如果(i%7==0){

        cout<<i;

        flag=true;

        break;

    }

}

如果flag是false    输出No

0
0
杜智宸
杜智宸
中级光能
中级光能

else cout<<"No";

杜智宸在2020-11-14 10:12:31追加了内容

呸,说错了

定义一个bool类型的标志旗,初始值为0,如果i%7==0,标志旗=1

循环结束以后,如果标志旗为0,输出No

0
张帆
张帆
中级天翼
中级天翼

        你把break;改成

return 0;

在循环外直接输出No

原理:

找到一个能被7整除的数,输出以后结束程序

一直没找到(没结束程序),循环完了输出No

0
吕梓瑜
吕梓瑜
初级天翼
初级天翼

这样写对吗

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b;
    for(int i=a;i<=b;i++){
        if(i%7==0)
        {
            cout<<i;
            return 0;
        }
    } 
    cout<<"No";
    return 0;
}

0
朱优扬
朱优扬
中级天翼
中级天翼

定义 a,b;

bool flag=false;

输入>>a>>b;

循环(从1-n){

    如果(i%7==0){

        cout<<i;

        flag=true;

        break;

    }

}

如果flag是false    输出No

我要回答