c#输出空心菱形 只学到循环

classTest{publicstaticvoidMain(string[]agrs){intnum=9;//定义菱形的层数intnum1=num/2+1;intnum... class Test {
public static void Main(string[] agrs) {
int num = 9; //定义菱形的层数
int num1 = num / 2 + 1;
int num2 = num / 2;
for (int i = 1; i <=num1; i++) //上半层循环
{
for (int j = 1; j <=num1-i; j++) //打印空格
{
Console.Write(" ");
}
for (int k = 1; k <=i*2-1; k++) //打印星号
{
if (k == 1 || k == i * 2 - 1) //只有在当前层数的第一个和最后一个位置才需要打星号
{
Console.Write("*");
}
else Console.Write(" ");
}
Console.WriteLine(); //循环结束换行
}
for (int i = num2 ; i>=1 ; i--) //下半层循环
{
for (int j = 1; j <=num2-i+1; j++) //打印下半层的空格
{
Console.Write(" ");
}
for (int k = 1; k <=i*2-1; k++) //打印当前层数的星号
{
if (k == 1 || k == i * 2 - 1)
{
Console.Write("*");
}
else Console.Write(" ");
}
Console.WriteLine();
}
}
}

这样合适吗,有没有更加简便的方法。
如果需要从控制台输入层数 并且判断是否为奇数 如果不是奇数提示用户 并且让用户重新输入 如果输入的不是数字 也提示用户并且让用户重新输入 这个怎么做到
展开
 我来答
renzaijianghu4
推荐于2017-09-24 · 超过31用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:63.5万
展开全部
1,代码合不合适在机器上试一遍就知道可以不了,思路应该没问题
2,利用带参的主函数,就是那个args[],比如arg[0]为你指定的行数,对其进行判断,是奇数正常绘制图形,非奇数或非数字则输出提示信息,或者直接等待输入,设为层数,也可以
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式