我的大学任务, 无论如何,我需要制作这种模式 输出:
*
**
***
****
*****
******
*******
********
*********
**********
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Problem_11
{
class Program
{
static void Main(string[] args)
{
int i;
for (i = 1; i <= 10; i++)
{
for (string o = "*";); //Nested for loop
{
Console.Write(o);
}
Console.Write("\n");
}
Console.ReadLine();
}
}
}
错误1只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句
错误2无效的表达式术语')'
错误3无效的表达式术语'{'
错误4)预期
错误5 {预期
答案 0 :(得分:3)
你不需要内循环,使用string重载让你重复一个字符
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(String.Format("{0}\n", new String('*', i));
}
答案 1 :(得分:1)
您可以简化您的解决方案:
...
static void Main(string[] args) {
// More natural to declare loop variable (int i) in the loop
for (int i = 1; i <= 10; ++i)
Console.WriteLine(new String('*', i)); // <- No inner loop required
Console.ReadLine();
}
...
答案 2 :(得分:1)
试试这段代码
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <=i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
答案 3 :(得分:0)
你的循环在编译后永远不会结束,因为没有条件,但这是另一个问题。一个问题是分号在嵌套的for循环中位于括号之外。
for (string o = "*";;)
答案 4 :(得分:0)
只需更改内部for循环:
for (int j = 0; j < i; j++)
{
Console.Write("*");
}