C# 在C中获取同一行中的数组内容#

C# 在C中获取同一行中的数组内容#,c#,arrays,C#,Arrays,我写了一个小代码,它在VS上正常工作,但是当它在线提交时会出现问题,所以它需要在同一行中格式化输入 格式需要一个N整数,表示列表中的数字数 下一行需要N个元素,这些元素在同一行中由空格分隔 下一个应该输出总和。 我已经这样做了,但有一个问题,它不允许我输入不大于87的值,它在第17行给我NumberFormatException。为了在一行中获取数组内容,我从这里开始: C#的新手是用Java做的 class MyClass { static void Main(string[] args) {

我写了一个小代码,它在VS上正常工作,但是当它在线提交时会出现问题,所以它需要在同一行中格式化输入

格式需要一个N整数,表示列表中的数字数 下一行需要N个元素,这些元素在同一行中由空格分隔 下一个应该输出总和。 我已经这样做了,但有一个问题,它不允许我输入不大于87的值,它在第17行给我NumberFormatException。为了在一行中获取数组内容,我从这里开始: C#的新手是用Java做的

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吗?我测试了几个,得到了正确的答案