簡體   English   中英

在數組 c# 中添加正負 integer 之和進行循環

[英]Adding the sum of positive and negative integer in the array c# for loop

“正輸入的總和是:”和“負輸入的總和是:”部分不起作用沒有答案顯示可能是什么解決方案?順便說一句,這是一個 11 年級的問題

int i, num, sum = 0;
Console.Write("\nInput the number of elements to be stored in the array :");
num = Convert.ToInt32(Console.ReadLine());

for (i = 0; i < num; i++)
{
    Console.Write("Elements - {0}:", i, num);
    array[i] = Convert.ToInt32(Console.ReadLine());
}
Console.Write("The positive inputs are :");
for (i = 0; i < num; i++)
{
    if (array[i] >= 0)
    {

        Console.Write(array[i] + ",");
        array[i]++;


    }
}
Console.Write("\nThe sum of positive input is :");
for (i = 0; i < num; i++)
{
    if (array[i] >= 0)
    {
        sum += array[i];
    }
}
    Console.Write("\nThe negative inputs are :");
for (i = 0; i < num; i++)
{
    if (array[i] < 0)
    {
        Console.Write(array[i] + ",");
        array[i]++;

    }
}
Console.Write("\nThe sum of negative input is :");
for (i = 0; i < num; i++)
{
    if (array[i] < 0)
    {
        sum += array[i];
    }
}

特別感謝 Usama 爵士和拖放爵士

int[] array = new int[100];
int i, num, sum = 0;

Console.Write("\nInput the number of elements to be stored in the array :");
num = Convert.ToInt32(Console.ReadLine());

for (i = 0; i < num; i++)
{
    Console.Write("Elements - {0}:", i, num);
    array[i] = Convert.ToInt32(Console.ReadLine());
}

Console.Write("The positive inputs are :");
for (i = 0; i < num; i++)
{
    if (array[i] >= 0)
    {
        Console.Write(array[i] + ",");
    }
}

Console.Write("\nThe sum of positive input is :" );
for (i = 0; i < num; i++)
{
    if (array[i] >= 0)
    {
        sum += array[i];
    }
}

Console.Write(sum);
sum = 0;
Console.Write("\nThe negative inputs are :");
for (i = 0; i < num; i++)
{
    if (array[i] < 0)
    {
        Console.Write(array[i] + ",");
    }
}

Console.Write("\nThe sum of negative input are :" );
for (i = 0; i < num; i++)
{
    if (array[i] < 0)
    {
        sum += array[i];
    }
}

Console.Write(sum);

首先,從用戶輸入讀取數組長度后,您不會初始化數組。 你應該有:

int[] array;
Console.Write("\nInput the number of elements to be stored in the array :");
num = Convert.ToInt32(Console.ReadLine());
array = new int[num];

其次,您對正負計算使用相同的sum變量(中間不重置)。 您可以為這兩個計算使用兩個單獨的變量:

int i, num, posSum = 0, negSum = 0;

第三,正如評論中提到的拖放,你不需要那個array[i]++; ,因為它修改了數組的元素。

第四,正如Usama Aziz在評論中提到的那樣,您沒有Console.Write打印結果的位置。

最終解決方案應如下所示:

static void Main(string[] args)
{
    int i, num, posSum = 0, negSum = 0;
    int[] array;
    Console.Write("\nInput the number of elements to be stored in the array :");
    num = Convert.ToInt32(Console.ReadLine());
    array = new int[num];

    for (i = 0; i < num; i++)
    {
        Console.Write("Elements - {0}:", i, num);
        array[i] = Convert.ToInt32(Console.ReadLine());
    }

    Console.Write("The positive inputs are :");
    for (i = 0; i < num; i++)
    {
        if (array[i] >= 0)
        {
            Console.Write(array[i] + ",");
        }
    }

    Console.Write("\nThe sum of positive input is :");
    for (i = 0; i < num; i++)
    {
        if (array[i] >= 0)
        {
            posSum += array[i];
        }
    }
    Console.Write(posSum);

    Console.Write("\nThe negative inputs are :");
    for (i = 0; i < num; i++)
    {
        if (array[i] < 0)
        {
            Console.Write(array[i] + ",");
        }
    }

    Console.Write("\nThe sum of negative input is :");
    for (i = 0; i < num; i++)
    {
        if (array[i] < 0)
        {
            negSum += array[i];
        }
    }
    Console.Write(negSum);
}

祝你考試順利!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM