C#要求转换为一般可看懂的C++格式,可运行和原来输出的答案一样
我手翻了一遍,用转译又翻了一遍,都没有给通过,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n, i, max = 0, elem = 0, sum = 0, k = 0, ax, bx;
Console.WriteLine("输入数组元素数Введите количество элементов массива:");
n = Convert.ToInt32(Console.ReadLine());
if (n < 1)
Environment.Exit(0);
int[] a = new int[n];
Console.WriteLine("输入数组元素Введите элементы массива:");
for (i = 0; i < n; i++)
a[i] = Convert.ToInt32(Console.ReadLine());
max = a[0];
Console.Clear();
Console.WriteLine("原始数组Исходный массив:");
for (i = 0; i < n; ++i)
if (i == 0) Console.Write(a[i]);
else Console.Write("\t" + a[i]);
Console.WriteLine();
Console.WriteLine("左边区间Введите левую границу интервала a:");
ax = Convert.ToInt32(Console.ReadLine());
do
{
Console.WriteLine("右边区间Введите правую границу интервала b, причём b > " + ax + ":");
bx = Convert.ToInt32(Console.ReadLine());
}
while (bx < ax);
a = a.Where(x => (Math.Abs(x) > ax) || (Math.Abs(x) < bx)).ToArray();
Console.WriteLine("Массив, сжатый удалением элементов, модуль которых находится в интервале [" + ax + ";" + bx + "]");
for (i = 0; i < a.Length; ++i)
if (i == 0) Console.Write(a[i]);
else Console.Write("\t" + a[i]);
for (i = 0; i < n; i++)
{
if (a[i] > max)
{ max = a[i]; }
}
Console.WriteLine("最大数组元素Максимальный элемент массива: " + max);
for (i = 0; i < n; ++i)
if (a[i] > 0)
{
elem = a[i];
k = i;
}
if (elem <= 0) Console.WriteLine("没有正元素Положительных элементов в массиве нет!");
else Console.WriteLine("最后一个正元素Последний положительный элемент в массиве: " + elem);
for (i = 0; i < k; i++)
sum += a[i];
Console.WriteLine("位于最后一个正元素之前数组的总和: " + sum);
Console.ReadKey();
}
}
}