C# 在C中获取同一行中的数组内容#
我写了一个小代码,它在VS上正常工作,但是当它在线提交时会出现问题,所以它需要在同一行中格式化输入 格式需要一个N整数,表示列表中的数字数 下一行需要N个元素,这些元素在同一行中由空格分隔 下一个应该输出总和。 我已经这样做了,但有一个问题,它不允许我输入不大于87的值,它在第17行给我NumberFormatException。为了在一行中获取数组内容,我从这里开始: C#的新手是用Java做的C# 在C中获取同一行中的数组内容#,c#,arrays,C#,Arrays,我写了一个小代码,它在VS上正常工作,但是当它在线提交时会出现问题,所以它需要在同一行中格式化输入 格式需要一个N整数,表示列表中的数字数 下一行需要N个元素,这些元素在同一行中由空格分隔 下一个应该输出总和。 我已经这样做了,但有一个问题,它不允许我输入不大于87的值,它在第17行给我NumberFormatException。为了在一行中获取数组内容,我从这里开始: C#的新手是用Java做的 class MyClass { static void Main(string[] args) {
class MyClass {
static void Main(string[] args) {
int i,k;
int sum=0;
int n;
n = Convert.ToInt32(Console.ReadLine());
//Took this code from above link
string readLine = Console.ReadLine();
string[] stringArray = readLine.Split(' ');
int[] intArray = new int[100];
for (i = 0; i < n; i++)
{
intArray[i] = int.Parse(stringArray[i]); // line 17
}
for (k = 0; k <= n; k++)
{
sum = sum + k;
}
Console.WriteLine(sum);
}
class-MyClass{
静态void Main(字符串[]参数){
int i,k;
整数和=0;
int n;
n=Convert.ToInt32(Console.ReadLine());
//从上面的链接获取此代码
字符串readLine=Console.readLine();
string[]stringArray=readLine.Split(“”);
int[]intArray=新int[100];
对于(i=0;i 对于(k=0;k您需要访问整数数组中的元素。此时您只需将循环计数器添加到求和中
var n = Convert.ToInt32(Console.ReadLine());
var stringArray = Console.ReadLine().Split(' ');
var intArray = new int[100];
for (var i = 0; i < n; i++)
{
intArray[i] = int.Parse(stringArray[i]); // line 17
}
var sum = 0;
for (var k = 0; k <= n; k++)
{
sum = sum + intArray[k];
}
Console.WriteLine(sum);
var n=Convert.ToInt32(Console.ReadLine());
var stringArray=Console.ReadLine().Split(“”);
var intArray=新整数[100];
对于(变量i=0;i 对于(var k=0;k有另一种方法,不含n(数字计数)。您只给出您的数字(10 20 300…),然后显示总和:
using System;
using System.Linq;
...
var stringArray = Console.ReadLine().Split(' ');
var sum = stringArray.Sum(number => int.Parse(number));
Console.WriteLine(sum);
添加try-catch,查看异常。是否可能要int.Parse(…)不是数字,或者前后都有空格或制表符。每个值之间都有空格,它们应该在同一行中。尝试了try catch,但没有给我异常,程序没有通过在线测试,但在VS中工作。我只是复制粘贴您的代码,它工作,但您的总和是错误的。总和应该SUM=SUM+intArray[k]
但是行intArray[i]=int.Parse(stringArray[i])
确定冗余数据输入有特殊原因吗?stringArray的长度已经告诉您项目的数量。对于C来说,我刚开始使用上面链接中的代码来水平获取输入,但为什么它没有超过88Why 88?我已经测试了它,直到300,它仍在工作。您正在获取3个,我不是100个,1,2,3,…100个,但不超过88个。控制台中有一个限制。读线:哦!我的糟糕!!在Vs上运行良好,但在线运行时出错,你能告诉我为什么用intArray[k]替换k吗?我测试了几个,得到了正确的答案