首页 新闻 会员 周边

一个循环题目

0
悬赏园豆:5 [已解决问题] 解决于 2021-12-14 11:09

Siuly的主页 Siuly | 初学一级 | 园豆:112
提问于:2021-12-03 17:41
< >
分享
最佳答案
0

int[] arr = { 2, 4, 5, 6, 7, 8, 20, 10 };
int n = 5;
for (int i = 0; i < arr.Length; i++)
{
if(arr[i]== n)
{
i = arr.Length;
Console.WriteLine("Y");
}
if (i == arr.Length-1)
{
Console.WriteLine("N");
}
}

收获园豆:1
中华鲟3670 | 小虾三级 |园豆:847 | 2021-12-03 18:34

int[] arr = { 1, 2, 3, 4, 5 };
int n = 5;
int A = 0;
for (int i = 0; i < arr.Count(); i++)
{
if (arr[i] == n)
{
A = 1;
}
if (A == 1)
{
Console.Write("Y");
}
else
{
Console.Write("N");
}
}
我这种可以吗

Siuly | 园豆:112 (初学一级) | 2021-12-03 21:52

@温柔的小猛男: 你这样会输出不正确的,数组中n 之前的都会输出N, n和后面的都会输出Y
例如:int[] arr = { 1, 2, 5, 4, 3 }; 则会输出:NNYYY

中华鲟3670 | 园豆:847 (小虾三级) | 2021-12-03 23:36

@中华鲟3670: 谢谢呀,我就是不太理解括号里那句话的意思

Siuly | 园豆:112 (初学一级) | 2021-12-07 11:56
其他回答(4)
0

int[] arr={1,2,3,4,5,6,7};
int n=5;
int flag=0;
for(int i=0;i<arr.length;i++){
if(arr[i]==n && flag==0){
Console.WriteLine("Y");
flag=1;
}
}
if(flag==0)Console.WriteLine("N");

收获园豆:1
计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2021-12-04 12:49

可以的!

支持(0) 反对(0) Siuly | 园豆:112 (初学一级) | 2021-12-07 11:57
0

int[] arr={1,2,3,4,5,6,7};
int n=5;
int i=0;
string result="N";
while(i<arr.length && arr[i]==n){
result="Y";
i++;
}
Console.WriteLine(result);

收获园豆:1
茂茂 | 园豆:2892 (老鸟四级) | 2021-12-06 10:24

你这个代码,arr[0] == n 的时候 才会输出Y,其它的都是输出N

支持(0) 反对(0) 中华鲟3670 | 园豆:847 (小虾三级) | 2021-12-06 10:57

@中华鲟3670: 对呀,题目要求就是只输出Y 或者 N。

支持(0) 反对(0) 茂茂 | 园豆:2892 (老鸟四级) | 2021-12-06 16:57

@茂茂: 如果arr[1] == n 还是输出的是N,结果就是错误的

支持(0) 反对(0) 中华鲟3670 | 园豆:847 (小虾三级) | 2021-12-06 17:32

@中华鲟3670: 你能看懂代码吗? arr[1]==n 我的代码返回的是“Y”

支持(0) 反对(1) 茂茂 | 园豆:2892 (老鸟四级) | 2021-12-07 08:51

@茂茂: 你自己拿自己的代码试一下就知道了,我拿你的代码跑过.结果就是这样:

支持(0) 反对(0) 中华鲟3670 | 园豆:847 (小虾三级) | 2021-12-07 10:59

@茂茂: while(i<arr.length && arr[i]==n) 当arr[0] != n 时,你这个循环进都进不去,直接结束了,还振振有词的问我能看懂你的代码不。这是初学者最基本的东西好不?

支持(0) 反对(0) 中华鲟3670 | 园豆:847 (小虾三级) | 2021-12-07 11:09

@中华鲟3670: 我也跑了他代码确实输出的是N

支持(0) 反对(0) Siuly | 园豆:112 (初学一级) | 2021-12-07 11:57

@中华鲟3670: 我的锅,确实这个条件写的有问题,写的太仓促,需要更新下代码
int[] arr={1,2,3,4,5,6,7};
int n=5;
int i=0;
string result="N";
while(i<arr.length){
if(arr[i]==n){
result="Y";
}
i++;
}
Console.WriteLine(result);

支持(0) 反对(0) 茂茂 | 园豆:2892 (老鸟四级) | 2021-12-07 13:56

@茂茂: 没事嘛 大家交流学习

支持(0) 反对(0) Siuly | 园豆:112 (初学一级) | 2021-12-07 15:02
0

int[] arr = new int[] { 1, 2, 3, 4, 5, 6 };
            int n = 5;
            bool flag = false;
            for (int i = 0; i < arr.Length; i++) {
                if (flag == false && arr[i] == n) {
                    flag = true;
                    Console.WriteLine("Y");
                }
            }
            if (flag == false) {
                Console.WriteLine("N");
            }

收获园豆:1
WmW | 园豆:424 (菜鸟二级) | 2021-12-06 11:52

可以的

支持(0) 反对(0) Siuly | 园豆:112 (初学一级) | 2021-12-07 15:33
0

public class Test {

public static String test(int[] arr,int n){
    String sign = "N";
    for (int i = 0; i < arr.length; i++) {
        if (arr[i] == n){
            sign = "Y";
            break;
        }
    }
    return sign;
}

public static void main(String[] args) {
    int[] arr = {1,3,1,8,1,7,1,1,78,1};
    int n = 5;
    System.out.println(test(arr, n));
}

}

收获园豆:1
DHaiLin | 园豆:221 (菜鸟二级) | 2021-12-07 09:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册