C# 如何制作输出:1 1 2 6 3 11 4 16 5 21
如何制作输出:1 1 2 6 3 11 4 16 5 21。当我输入开始值=1,结束值=5时 我的代码:C# 如何制作输出:1 1 2 6 3 11 4 16 5 21,c#,console,console-application,windows-console,C#,Console,Console Application,Windows Console,如何制作输出:1 1 2 6 3 11 4 16 5 21。当我输入开始值=1,结束值=5时 我的代码: Console.Write("input start value : "); start = int.Parse(Console.ReadLine()); Console.Write("input end value : ");
Console.Write("input start value : ");
start = int.Parse(Console.ReadLine());
Console.Write("input end value : ");
end = int.Parse(Console.ReadLine());
Console.WriteLine("");
for (int i = start; i <= end; i++)
{
Console.WriteLine(i);
for (int j = i; j <= end; j++)
{
int z = 1;
if (start != j)
{
z++;
Console.WriteLine((j * j) + z);
}
else
{
Console.WriteLine(start + " this j start value");
}
}
}
Console.Write(“输入起始值:”);
start=int.Parse(Console.ReadLine());
控制台。写入(“输入结束值:”);
end=int.Parse(Console.ReadLine());
控制台。写线(“”);
对于@dxiv在评论中发布的(int i=start;i),这组数字的模式是将1,2,3,4,5
和1,6,11,16,21
组合在一起。我看到的模式是第二组数字之间的间隔等于结束数字
我们可以定义一个生成这些数字的函数:
IEnumerable<int> GetNumbers(int start, int end)
{
for (int number = start; number <= end; number++)
{
yield return number;
yield return start + ((number - 1) * end);
}
}
输出
1 1 2 6 3 11 4 16 5 21
因此,我不完全清楚5是否同时用作1,2,3,4,5的终值以及1,6,11,16,21的差值,但我假设是。这里有一个算法供您实现(这看起来像是家庭作业,所以请将此视为一个技巧-您将从自己编写代码中获得更多,但这就是您应该如何进行任何编码练习:用您认为合适的语言编写算法,然后将其翻译为c#)
- 要求用户输入起始值并转换为int
- 要求用户输入结束值并转换为int
- 算出一个名为
n
的变量,即结束减去开始
- 从x=0开始创建for循环,在x小于或等于
n
时运行;将x增加1
- 打印出startValue加上x
- 打印出startValue plus(endValue乘以x)
- 绕圈子
对于1和5的开始和结束,循环从0运行到4。循环第一次运行时,x是0,起始值是1,因此打印1+0和1+(5*0)都是1。这一直延续到结束值,其中x是4,4+1被打印-这是5-和1+(4*5)是打印的-它是21交错1,2,3,4,5
和1,6,11,16,21
。你能修改我的代码吗?我不明白,你发布的代码是不可修改的,因为它似乎与问题的其余部分没有任何关系。我的第一条评论只是作为一个线索。看看你能做些什么,如果你真的想回复的话值得一读:为什么我的输出:1 1 2 6 3 11 4 16 5 21 6 26当我设置start=1,end=5我的代码int n=end-start;for(int i=0;i)你的代码是iohh是的,因为
1 1 2 6 3 11 4 16 5 21