在数组的整数元素中搜索一个数字

克里斯蒂安25

在数组的整数元素中搜索“魔术数字”,并对包含“魔术数字”的所有整数求和。

例如 :

1, 2, 3, 4, 5, 55 和魔术数字是 5

1, 2, 3, 4, 5, 55 包含神奇数字“5”的数字之和为:60


(提前感谢您的帮助)到目前为止我有:

       int[] arrayOfUserInput = new int[10];
       int i;

        //------------------------------- Array and variable declaration

        Console.WriteLine("Please enter 10 integers : ");
        for (i = 0; i < 10; i++)
        {
            Console.Write("array element = {0} : ", i);
            arrayOfUserInput[i] = Convert.ToInt32(Console.ReadLine());
        }
        //-------------------------------- User input of 10 integers


        Console.Write("Please enter your magic number : ");
        int magicNumberInput = Convert.ToInt32(Console.ReadLine());

        if (magicNumberInput >= 0 && magicNumberInput <= 9)
        {
            Console.WriteLine($"Your magic number is : {magicNumberInput}");
        }
        else
        {
            Console.WriteLine("Sorry, but please enter single digit number!");
        }

        //-------------------------------- User input & displaying of magic number

        Console.WriteLine("Your integers are : ");
        for (i = 0; i < 10; i++)
        {
        Console.Write("{0}  ", arrayOfUserInput[i]);
        }
        Console.WriteLine("");

        //--------------------------------- Displaying user input of 10 integers
普拉萨德·泰尔基卡尔

您可以使用 Linq.Where().Sum()计算包含幻数的所有数字的总和。

using System;
using System.Linq;
using System.Collections.Generic;

...

var arrayOfUserInput = new int[] {1, 2, 3, 4, 5, 55};
var magicNumberInput = 5;

var sumOfNumbers = arrayOfUserInput
    .Where(x => x.ToString().Contains(magicNumberInput.ToString()))  //Filter by Magic numbers
    .Sum();                                             //Calculate sum of filtered numbers.

.Net小提琴


如果您不想使用 Linq,那么您可以使用函数foreachfor循环string.Contains()函数来完成。

...
var sumOfNumbers = 0;
foreach(var input in arrayOfUserInput)
{
     if(input.ToString().Contains(magicNumberInput.ToString()))
          sumOfNumbers += input;
}

Console.WriteLine(sumOfNumbers);

我强烈建议您阅读有关LINQ和 C# 基础知识的更多信息


代码重构注意事项:

如果以字符串格式存储输入数据,则无需再次将其转换为字符串。在添加时将其转换为int并添加到sumOfNumbers. 像,

使用 Linq,

 var sumOfNumbers = arrayOfUserInput
     .Select(x => x.Contains(magicNumberInput) && int.TryParse(x, out int number) ? number : 0)
    .Sum();  

使用 for 循环,

...
var sumOfNumbers = 0;
foreach(var input in arrayOfUserInput)
{
     if(input.Contains(magicNumberInput) && int.TryParse(input, out int number))
          sumOfNumbers += number;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在数组中定位一个数字

如何在数组中搜索一个元素然后从同一个数组中输出另一个元素?

向数组中的每个元素/整数添加一个数字

在数组中查找小于或等于另一个数组中数字的数字?

在数组数组中搜索,并在一个数组中返回结果

将一个数字加到存储在数字数组中的数字

在数组中查找更高和更低的数字并存储在一个数组中

将整数数组中的数字连接成Golang中的一个数字?

如何根据另一个数组 swift 3 在数组中包含元素

如何计算一个数字出现在数组中的次数

如何检查一个数字是否已经在数组中?

打印出一个数字在数组中重复的次数(ArrayIndexOutofBoundException)

如何基于第一个数字从数组中获取整数值

根据另一个在第一个数组中传递值之一的数组在数组中搜索值

创建一个有两个参数的函数,参数 a 将是一个数组,参数 b 将在数组中查找一个元素

Swift-在数组中搜索是否包含字符串并追加到另一个数组

对Python中的列表(或数组)中的每个元素求和一个数字

如何以最佳方式从 Perl 中的数组中删除小于一个数字的元素

如何在Javascript中获取另一个数组中某个数组元素的数字出现次数?

从数字数组中获取一个数字

如何基于R中另一个数组的信息在数组中添加元素?

为数组中的每个元素添加一个数字[Double]

如何在python中的任意数组中将每个元素除以一个数字?

C ++在数组中查找一个整数

AngularJs,在一个数组中搜索另一个数组

向量化为另一个数组中的每个元素在数组中找到最接近的值

针对另一个数组的所有元素搜索一个数组的元素

如何返回整数字节数组中的最后一个元素

如何在数组中的每第 5 个数字后开始一个新行?