如何在c#控制台应用程序上显示出三角形和长方形以及正方形
如题,想要编可以由用户选择输出哪个形状,用户给出某个形状的大小,如正方形的边长、长方形的长和宽、三角形的高度或边长(需有一定的长度限制),用户选择用什么符号来画,默认为“...
如题,想要编可以由用户选择输出哪个形状,用户给出某个形状的大小,如正方形的边长、长方形的长和宽、三角形的高度或边长(需有一定的长度限制)
,用户选择用什么符号来画,默认为“*”。
如果能做出让 用户选择输出实心还是空心图形 更好。
有劳高手了!!!
就是那个直角三角形要怎么输出 展开
,用户选择用什么符号来画,默认为“*”。
如果能做出让 用户选择输出实心还是空心图形 更好。
有劳高手了!!!
就是那个直角三角形要怎么输出 展开
4个回答
展开全部
这有一个输出正三角形的···
public static void Main(string[] args)
{
int w=0;
char c;
Console.WriteLine("输入正三角形的边长:");
try
{
w = Int32.Parse(Console.ReadLine());
}
catch (FormatException fe)
{
Console.WriteLine(fe.Message);
}
Console.WriteLine("是否实心?(Y/N)");
try
{
c = (char)Console.Read();
if (c != 'Y' && c != 'y' && c != 'N' && c != 'n')
throw new FormatException("输入格式错误");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return;
}
for (int i = 0; i < w; i++)
{
for (int j = 0; j <= i; j++)
{
if ((c == 'N' || c == 'n')&&i!=0&&i!=w-1)
{
Console.Write("*");
for(int k=j+1;k<i;k++)
Console.Write(" ");
Console.Write("*");
break;
}
else
Console.Write("*");
}
Console.WriteLine();
}
}
自己参考下吧 我前面刚写的
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
public static void Main()
{
while (true)
{
Console.WriteLine("输入图形代号:");
Console.WriteLine("1.正方形 2.长方形 3.三角形 其他.退出");
int i = Int32.Parse(Console.ReadLine());
switch (i)
{
case 1:
Square();
break;
case 2:
Rectangle();
break;
case 3:
Triangle();
break;
default:
return;
}
}
}
static void Square()
{
Console.Write("请输入正方形边长:");
int bc = Int32.Parse(Console.ReadLine());
Console.Write("是否实心(Y/N):");
string sx = Console.ReadLine();
Console.Write("选择什么符号表示(回车则为*):");
string fh = Console.ReadLine();
if (fh == "")
fh = "*";
for (int i = 0; i < bc; i++)
{
for (int j = 0; j < bc; j++)
{
if (sx == "Y" || sx == "y")
Console.Write(" " + fh);
if (sx == "N" || sx == "n")
{
if (i == 0 || i == bc - 1 || j == 0 || j == bc - 1)
Console.Write(" " + fh);
else
Console.Write(" ");
}
}
Console.WriteLine();
}
}
static void Triangle()
{
Console.Write("请输入三角形边长:");
int bc = Int32.Parse(Console.ReadLine());
Console.Write("是否实心(Y/N):");
string sx = Console.ReadLine();
Console.Write("选择什么符号表示(回车则为*):");
string fh = Console.ReadLine();
if (fh == "")
fh = "*";
if (sx == "Y" || sx == "y")
{
for (int i = 0; i < bc; i++)
{
for (int j = 0; j <= bc + i; j++)
{
if (bc % 2 == 0)
{
if ((i + j) % 2 == 0 && i + j >= bc)
Console.Write("*");
else
Console.Write(" ");
}
else
{
if ((i + j) % 2 == 1 && i + j >= bc)
Console.Write("*");
else
Console.Write(" ");
}
}
Console.WriteLine();
}
}
if (sx == "N" || sx == "n")
{
for (int l = 0; l < bc; l++)
{
for (int k = 0; k < bc + l; k++)
{
if (k + l == bc - 1 || k - l == bc - 1 || l == bc - 1 && k % 2 == 0)
Console.Write(fh);
else
Console.Write(" ");
}
Console.WriteLine();
}
}
}
static void Rectangle()
{
Console.Write("请输入长方形宽:");
int bc = Int32.Parse(Console.ReadLine());
Console.Write("请输入长方形长:");
int kd = Int32.Parse(Console.ReadLine());
Console.Write("是否实心(Y/N):");
string sx = Console.ReadLine();
Console.Write("选择什么符号表示(回车则为*):");
string fh = Console.ReadLine();
if (fh == "")
fh = "*";
for (int i = 0; i < bc; i++)
{
for (int j = 0; j < kd; j++)
{
if (sx == "Y" || sx == "y")
Console.Write(" " + fh);
if (sx == "N" || sx == "n")
{
if (i == 0 || i == bc - 1 || j == 0 || j == kd - 1)
Console.Write(" " + fh);
else
Console.Write(" ");
}
}
Console.WriteLine();
}
}
}
}
public static void Main(string[] args)
{
int w=0;
char c;
Console.WriteLine("输入正三角形的边长:");
try
{
w = Int32.Parse(Console.ReadLine());
}
catch (FormatException fe)
{
Console.WriteLine(fe.Message);
}
Console.WriteLine("是否实心?(Y/N)");
try
{
c = (char)Console.Read();
if (c != 'Y' && c != 'y' && c != 'N' && c != 'n')
throw new FormatException("输入格式错误");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return;
}
for (int i = 0; i < w; i++)
{
for (int j = 0; j <= i; j++)
{
if ((c == 'N' || c == 'n')&&i!=0&&i!=w-1)
{
Console.Write("*");
for(int k=j+1;k<i;k++)
Console.Write(" ");
Console.Write("*");
break;
}
else
Console.Write("*");
}
Console.WriteLine();
}
}
自己参考下吧 我前面刚写的
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
public static void Main()
{
while (true)
{
Console.WriteLine("输入图形代号:");
Console.WriteLine("1.正方形 2.长方形 3.三角形 其他.退出");
int i = Int32.Parse(Console.ReadLine());
switch (i)
{
case 1:
Square();
break;
case 2:
Rectangle();
break;
case 3:
Triangle();
break;
default:
return;
}
}
}
static void Square()
{
Console.Write("请输入正方形边长:");
int bc = Int32.Parse(Console.ReadLine());
Console.Write("是否实心(Y/N):");
string sx = Console.ReadLine();
Console.Write("选择什么符号表示(回车则为*):");
string fh = Console.ReadLine();
if (fh == "")
fh = "*";
for (int i = 0; i < bc; i++)
{
for (int j = 0; j < bc; j++)
{
if (sx == "Y" || sx == "y")
Console.Write(" " + fh);
if (sx == "N" || sx == "n")
{
if (i == 0 || i == bc - 1 || j == 0 || j == bc - 1)
Console.Write(" " + fh);
else
Console.Write(" ");
}
}
Console.WriteLine();
}
}
static void Triangle()
{
Console.Write("请输入三角形边长:");
int bc = Int32.Parse(Console.ReadLine());
Console.Write("是否实心(Y/N):");
string sx = Console.ReadLine();
Console.Write("选择什么符号表示(回车则为*):");
string fh = Console.ReadLine();
if (fh == "")
fh = "*";
if (sx == "Y" || sx == "y")
{
for (int i = 0; i < bc; i++)
{
for (int j = 0; j <= bc + i; j++)
{
if (bc % 2 == 0)
{
if ((i + j) % 2 == 0 && i + j >= bc)
Console.Write("*");
else
Console.Write(" ");
}
else
{
if ((i + j) % 2 == 1 && i + j >= bc)
Console.Write("*");
else
Console.Write(" ");
}
}
Console.WriteLine();
}
}
if (sx == "N" || sx == "n")
{
for (int l = 0; l < bc; l++)
{
for (int k = 0; k < bc + l; k++)
{
if (k + l == bc - 1 || k - l == bc - 1 || l == bc - 1 && k % 2 == 0)
Console.Write(fh);
else
Console.Write(" ");
}
Console.WriteLine();
}
}
}
static void Rectangle()
{
Console.Write("请输入长方形宽:");
int bc = Int32.Parse(Console.ReadLine());
Console.Write("请输入长方形长:");
int kd = Int32.Parse(Console.ReadLine());
Console.Write("是否实心(Y/N):");
string sx = Console.ReadLine();
Console.Write("选择什么符号表示(回车则为*):");
string fh = Console.ReadLine();
if (fh == "")
fh = "*";
for (int i = 0; i < bc; i++)
{
for (int j = 0; j < kd; j++)
{
if (sx == "Y" || sx == "y")
Console.Write(" " + fh);
if (sx == "N" || sx == "n")
{
if (i == 0 || i == bc - 1 || j == 0 || j == kd - 1)
Console.Write(" " + fh);
else
Console.Write(" ");
}
}
Console.WriteLine();
}
}
}
}
参考资料: http://bbs.bccn.net/thread-236545-1-1.html
展开全部
这问题多好回答啊! 你定义一个方法! 这方法含有两个参数!
第一个参数控制,要输出图形的行! 另一个控制要输出的列!
两个for循环就实现输出图形了! 我给你举个三角形例子! 参数a,b
static void Main(string[] args)
{
int a = 5, b = 5;
string tu="*";
for (int i = 1;i<=a; i++)
{
for (int k =b-1; k >= i; k--)
{
Console.Write(" ");
}
for (int j = 1; j <= i; j++)
{
Console.Write(tu+" ");
}
Console.WriteLine();
}
Console.ReadLine();
}
空心实心也好做啊! 你把那输出的那字符串变量换成空心或实心就行了!
第一个参数控制,要输出图形的行! 另一个控制要输出的列!
两个for循环就实现输出图形了! 我给你举个三角形例子! 参数a,b
static void Main(string[] args)
{
int a = 5, b = 5;
string tu="*";
for (int i = 1;i<=a; i++)
{
for (int k =b-1; k >= i; k--)
{
Console.Write(" ");
}
for (int j = 1; j <= i; j++)
{
Console.Write(tu+" ");
}
Console.WriteLine();
}
Console.ReadLine();
}
空心实心也好做啊! 你把那输出的那字符串变量换成空心或实心就行了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用循环嵌套
//直角三角行
int chagn =5;
for(int i=1;i<=5;i++)
{
for(int j=i ; j>=1; j--){
Console.Write("*");
}
Console.WriteLine(); //换行
}
这样可以打印一个长是5个*的直角三角行
其他的形状也基本上都是一样的道理
//直角三角行
int chagn =5;
for(int i=1;i<=5;i++)
{
for(int j=i ; j>=1; j--){
Console.Write("*");
}
Console.WriteLine(); //换行
}
这样可以打印一个长是5个*的直角三角行
其他的形状也基本上都是一样的道理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就输出个三角形把
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication7
{
class Program
{
static void Main()
{
for(int i=0;i<20;i++)
{
if(i<10)
for(int j=0;j<i;j++)
Console.Write("*");
else
for(int j=0;j<20-i;j++)
Console.Write("*");
Console.Write("\n");
}
Console.ReadLine();
return;
}
}
}
自己琢磨就明白了
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication7
{
class Program
{
static void Main()
{
for(int i=0;i<20;i++)
{
if(i<10)
for(int j=0;j<i;j++)
Console.Write("*");
else
for(int j=0;j<20-i;j++)
Console.Write("*");
Console.Write("\n");
}
Console.ReadLine();
return;
}
}
}
自己琢磨就明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询