
C# 问题 打印菱形
usingSystem;usingSystem.Collections.Generic;usingSystem.Windows.Forms;namespace菱形3{cl...
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace 菱形3
{
class Program
{
static void Main(string[] args)
{
}
static void printstars(int tmpNumber)
{
if (tmpNumber % 2 == 0) tmpNumber += 1;
int MiddleNum = tmpNumber / 2 + 1, EndNum = 2 * tmpNumber + 1;
int intRow, intcols = 0, i, j, spaces;
for (intRow = 0; intRow <= tmpNumber; intRow++)
{
if (intRow < +MiddleNum)
intcols = intRow * 2 - 1;
else if ((intRow > MiddleNum) & (intRow <= tmpNumber))
{
intcols = EndNum - intRow * 2;
}
spaces = (tmpNumber - intcols) / 2 + 1;
for (j = 0; j <= spaces; j++)
{
Console.Write(" ");
}
for (i = 1; i <= intcols; i++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
}
打不出,望高手指点 展开
using System.Collections.Generic;
using System.Windows.Forms;
namespace 菱形3
{
class Program
{
static void Main(string[] args)
{
}
static void printstars(int tmpNumber)
{
if (tmpNumber % 2 == 0) tmpNumber += 1;
int MiddleNum = tmpNumber / 2 + 1, EndNum = 2 * tmpNumber + 1;
int intRow, intcols = 0, i, j, spaces;
for (intRow = 0; intRow <= tmpNumber; intRow++)
{
if (intRow < +MiddleNum)
intcols = intRow * 2 - 1;
else if ((intRow > MiddleNum) & (intRow <= tmpNumber))
{
intcols = EndNum - intRow * 2;
}
spaces = (tmpNumber - intcols) / 2 + 1;
for (j = 0; j <= spaces; j++)
{
Console.Write(" ");
}
for (i = 1; i <= intcols; i++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
}
打不出,望高手指点 展开
2个回答
展开全部
最近怎么这么多人要打印菱形啊……
你把
static void Main(string[] args)
{
}
改成
static void Main(string[] args)
{
printstars(10);
}
就能打印了,不过打印出来的不是菱形……
用下面的代码试试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ruaidhir
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10+i; j++)
{
if (j > 10 - i)
Console.Write("*");
else
Console.Write(" ");
}
Console.WriteLine();
}
for (int i = 10; i > 0; i--)
{
for (int j = 0; j < 10+i; j++)
{
if (j > 10 - i)
Console.Write("*");
else
Console.Write(" ");
}
Console.WriteLine();
}
}
}
}
你把
static void Main(string[] args)
{
}
改成
static void Main(string[] args)
{
printstars(10);
}
就能打印了,不过打印出来的不是菱形……
用下面的代码试试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ruaidhir
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10+i; j++)
{
if (j > 10 - i)
Console.Write("*");
else
Console.Write(" ");
}
Console.WriteLine();
}
for (int i = 10; i > 0; i--)
{
for (int j = 0; j < 10+i; j++)
{
if (j > 10 - i)
Console.Write("*");
else
Console.Write(" ");
}
Console.WriteLine();
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以前写过现在没源代码。
给你个思路:西安打印菱形的上面部分,在打印下半部分
如:
private viod print(int count)
{
int NA = count/2;
for(int Ncount=0;Ncount<count;Ncount++) //一次一行
{
if(Ncount<NA)
{
打印上半部分的*;
打印“ ”个数控制;
打印“*”个数控制;
“*”后空格不输出换行;
算法规律简单;
}
else
{
打印下半部分的*;
算法多想下就出来了;
}
}
具体还牵扯奇偶数的问题,你调试下就可以解决;
给你个思路:西安打印菱形的上面部分,在打印下半部分
如:
private viod print(int count)
{
int NA = count/2;
for(int Ncount=0;Ncount<count;Ncount++) //一次一行
{
if(Ncount<NA)
{
打印上半部分的*;
打印“ ”个数控制;
打印“*”个数控制;
“*”后空格不输出换行;
算法规律简单;
}
else
{
打印下半部分的*;
算法多想下就出来了;
}
}
具体还牵扯奇偶数的问题,你调试下就可以解决;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询