C# 数字立方体,每行向左旋转一
基本C#问题: 我需要在输入某个数字时得到该结果(此案例输入为4): 我在尝试那个代码,但无法找出我的错误:C# 数字立方体,每行向左旋转一,c#,C#,基本C#问题: 我需要在输入某个数字时得到该结果(此案例输入为4): 我在尝试那个代码,但无法找出我的错误: Console.WriteLine("Please write a Number: "); Console.Write("Number: "); int num = int.Parse(Console.ReadLine()); for (int i = 0; i <= num; i++) { for (int j = num - i; j >= 0; j--)
Console.WriteLine("Please write a Number: ");
Console.Write("Number: ");
int num = int.Parse(Console.ReadLine());
for (int i = 0; i <= num; i++)
{
for (int j = num - i; j >= 0; j--)
{
Console.Write(j);
}
for (int j = 1; j <= i; j++)
{
Console.Write(j);
}
Console.WriteLine();
}
Console.ReadLine();
问题是,第二个内部循环从1开始并向上计数,而不是从
num开始并向下计数
将该循环更改为:
for (int j = num; j > num -i; j--)
{
Console.Write(j);
}
我也不清楚你是否想要04321的最后一行。如果没有(如原始示例中所示),则只需将循环检查更改为i问题在于,第二个内部循环从1开始向上计数,而不是从num开始向下计数
将该循环更改为:
for (int j = num; j > num -i; j--)
{
Console.Write(j);
}
我也不清楚你是否想要04321的最后一行。如果没有(如原始示例中所示),则只需将循环检查更改为i,作为提示,我将主循环作为伪代码提供给您:
for i from 0 to number_input-1 {
for j from number_input to 0 {
print((j-i)%(number_input+1) + " ")
}
print("\n")
}
作为提示,我将主循环作为伪代码提供给您:
for i from 0 to number_input-1 {
for j from number_input to 0 {
print((j-i)%(number_input+1) + " ")
}
print("\n")
}
试试这样的
从用户处获取一个数字(x)
创建包含x到0的整数列表
运行循环x次李>
每次打印列表,弹出第一个数字,并将其推到末尾
var ints=新列表{4,3,2,1,0};
对于(int i=0;i<4;i++)
{
ints.ForEach(n=>Console.Write(n+);
控制台。写线(“”);
var a=整数[0];
内部移除(0);
加入(a);
}
试试这样的
从用户处获取一个数字(x)
创建包含x到0的整数列表
运行循环x次李>
每次打印列表,弹出第一个数字,并将其推到末尾
var ints=新列表{4,3,2,1,0};
对于(int i=0;i<4;i++)
{
ints.ForEach(n=>Console.Write(n+);
控制台。写线(“”);
var a=整数[0];
内部移除(0);
加入(a);
}
试试这个:
Console.WriteLine("Please write a Number: ");
Console.Write("Number: ");
int num = int.Parse(Console.ReadLine());
for (int i = 0; i <= num; i++)
{
for (int j = num - i; j >= 0; j--)
{
Console.Write(j);
}
for (int j = num; j > num - i; j--)
{
Console.Write(j);
}
Console.WriteLine();
}
Console.ReadLine();
Console.WriteLine(“请写一个数字:”);
控制台。写入(“编号:”);
int num=int.Parse(Console.ReadLine());
对于(int i=0;i=0;j--)
{
控制台。写入(j);
}
对于(int j=num;j>num-i;j--)
{
控制台。写入(j);
}
Console.WriteLine();
}
Console.ReadLine();
试试这个:
Console.WriteLine("Please write a Number: ");
Console.Write("Number: ");
int num = int.Parse(Console.ReadLine());
for (int i = 0; i <= num; i++)
{
for (int j = num - i; j >= 0; j--)
{
Console.Write(j);
}
for (int j = num; j > num - i; j--)
{
Console.Write(j);
}
Console.WriteLine();
}
Console.ReadLine();
Console.WriteLine(“请写一个数字:”);
控制台。写入(“编号:”);
int num=int.Parse(Console.ReadLine());
对于(int i=0;i=0;j--)
{
控制台。写入(j);
}
对于(int j=num;j>num-i;j--)
{
控制台。写入(j);
}
Console.WriteLine();
}
Console.ReadLine();
只是为了好玩:
const int NUM = 4; // num from user
for (int start = NUM; start > 0; start--)
{
for (int i = 0; i <= NUM; i++)
{
int current = (start - i) >= 0 ? start - i : NUM + (start - i) + 1;
Console.Write(current + " ");
}
Console.WriteLine();
}
const int NUM=4;//来自用户的num
对于(int start=NUM;start>0;start--)
{
对于(inti=0;i=0?start-i:NUM+(start-i)+1;
Console.Write(当前+“”);
}
Console.WriteLine();
}
只是为了好玩:
const int NUM = 4; // num from user
for (int start = NUM; start > 0; start--)
{
for (int i = 0; i <= NUM; i++)
{
int current = (start - i) >= 0 ? start - i : NUM + (start - i) + 1;
Console.Write(current + " ");
}
Console.WriteLine();
}
const int NUM=4;//来自用户的NUM
对于(int start=NUM;start>0;start--)
{
对于(inti=0;i=0?start-i:NUM+(start-i)+1;
Console.Write(当前+“”);
}
Console.WriteLine();
}
老实说,这是一项经典的排序任务。它只是隐藏在“用户类型和布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉。。
有一个数组[4,3,2,1,0]…所以
我们交换1和2得到[3,4,2,1,0]
我们交换2和3得到[3,2,4,1,0]
我们交换3和4得到[3,2,1,4,0]
我们交换4和5得到[3,2,1,0,4]
所以只需要简单的代码
int[]numbers
假设您有这个数组[4,3,2,1,0]
for(int i = 0; i < numbers.length - 2; i++){
for(int y = 0; y < numbers.length - 1; y++){
int buf = numbers[y];
numbers[y] = numbers[y + 1];
numbers[y + 1] = buf;
}
}
for(int i=0;i
老实说,这是一项经典的排序任务。它只是隐藏在“用户类型和布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉。。
有一个数组[4,3,2,1,0]…所以
我们交换1和2得到[3,4,2,1,0]
我们交换2和3得到[3,2,4,1,0]
我们交换3和4得到[3,2,1,4,0]
我们交换4和5得到[3,2,1,0,4]
所以只需要简单的代码
int[]numbers
假设您有这个数组[4,3,2,1,0]
for(int i = 0; i < numbers.length - 2; i++){
for(int y = 0; y < numbers.length - 1; y++){
int buf = numbers[y];
numbers[y] = numbers[y + 1];
numbers[y + 1] = buf;
}
}
for(int i=0;i
如果你看每一行,它就会向左移动..简单点!这意味着你需要一个循环和一个子循环(不是2),但要在子循环中移动一次。这看起来像是家庭作业。解决方案是否有任何约束条件(例如:是否要求你使用特定的方法来解决这个问题?例如,你需要使用循环吗?)调试它,看看它是否能像你希望的那样工作如果你看每一行,它就会被移到左边。简单!这意味着你需要一个循环和一个子循环(不是2),但在子循环中移动。这看起来像是家庭作业。解决方案有什么限制吗(即:是否要求您使用特定方法解决此问题?例如,您是否需要使用循环?)+1很好。但它正在打印额外的第04321行,否则一切都很好。我想我认为这对他来说应该不是问题:)我不太清楚你的答案试图做什么。有一件事我很有信心,那就是它没有打印出问题所需的任何内容。而且我也不知道排序是如何在任何地方出现的……我不太清楚你的答案试图做什么。有一件事我很有信心,那就是它没有打印出来找出问题所需要的任何东西。我也不知道排序是如何在任何地方出现的……这可能不会因为效率而获奖,但我真的很喜欢它做正确的事情是多么清晰和直观