c# - 在数组c#for循环中添加正负整数之和
问题描述
“正输入的总和是:”和“负输入的总和是:”部分不起作用,没有答案显示解决方案可能是什么?顺便说一句,这是一个 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];
}
}
解决方案
首先,从用户输入读取数组长度后,您不会初始化数组。你应该有:
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);
}
祝你考试顺利!
推荐阅读
- microsoft-teams - 如何通过团队共享按钮向人员发送消息?
- excel - How can I change a variable in a .txt template, if I have more than 5000 different values for this variable in an excel table?
- python - 用 pandas 系列替换 Python 列表理解
- yocto - 如何在 yocto 中添加配方以构建 curl 示例?
- sql - 适用于 Linux 的 SQL 类工具 - 扫描文件并处理 CAT 和 ECHO 命令
- web-audio-api - 如何用js向后播放视频?
- php - 有没有办法将单词与PHP中的html标签内的句子匹配
- angular - 从后端加载文件
- emscripten - 是否可以使用 -undefined,dynamic_lookup 构建模块?
- python - bash脚本自动化python脚本问题