问题标题: 酷町堂:4911 孪生双子魔杖

0
0
已解决
被禁言 张皓轩
张皓轩
中级光能
中级光能

4911   孪生双子魔杖经验值:800

题目描述 Description

魔法世界有这样一个传说,当两个魔杖的长度相加的和为100时,那么这两个魔杖则互相是对方的孪生双子魔杖,而当一个巫师拥有了两根孪生双子魔杖时,他就可以使用更加强大的魔法。现在,你是一个巫师,你已经拥有了一根魔杖,你来到了一个魔杖店,你想要知道魔杖店的n根魔杖中是否有自己的孪生双子魔杖。

输入描述 Input Description

输入三行:
第一行一个数字n,表示魔杖店有n根魔杖(1<=n<=60)
第二行有n个数字,表示n根魔杖的长度(每根魔杖长度都不超过100)
第三行一个数字,表示你拥有的魔杖的长度

输出描述 Output Description

如果魔杖店里有你的孪生魔杖,你需要输出yes,并且输出孪生魔杖的长度,之间用空格隔开;如果魔杖店里没有你的孪生魔杖,输出no即可

样例输入 Sample Input

5 33 54 21 78 3 22

样例输出 Sample Output

yes 78

0分代码:

  • #include<iostream> using namespace std; int main(){ int n,a,i,c; bool flag=0; cin>>n; for(i=1;i<=n;i++){ cin>>a; } cin>>c; for(i=1;i<=n;i++){ if(a+c==100){ cout<<"Yes"<<" "<<a; flag=1; break; } if(flag==0){ cout<<"No"; break; } } }
  • 请大佬指导一下

 


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

这题要用数组,不然输入数据会被覆盖

定义

int n,a[70],c,f=0;

输入

循环(i:1~n){
        cin>>a[i];
}
cin>>c;
循环(i:1~n){
        if(a[i]+c==100){
            f=1;
            cout<<"yes"<<' '<<a[i]<<' ';
        }
    }

如果f==0{

    输出no

}

0
周zhouhaoran
周zhouhaoran
初级光能
初级光能

可以直接循环,拿100减自己拥有的长度,用变量存下来,如果其中有一个数是等于100减自己拥有的长度的值,就输出Yes,while循环输入t,即可满分

0
鹿雨扬
鹿雨扬
资深守护
资深守护

核心,望采纳,拜托了

int cnt[101],a[70],mz; int main() { int n,x; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } cin>>x; for(int i=1;i<=n;i++) { if(a[i]+x==100) { cout<<"yes "<<a[i]; return 0; } } cout<<"no";

我要回答