如何在c#控制台应用程序上显示出三角形和长方形以及正方形
假设a是变量,printf("%d",&a)就是输出a的地址,printf("%d",a)则是输出a的内容
引用system.drawing.2d;
里面有画长方形的方法:DrawRectangle();
三角形的好像没有,但是你可以构造一个方法,依次点击三个点(只要满足三角形的条件),就DrawLine,把这三条线连接起来就好了。
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();
}
}
}
}
这问题多好回答啊! 你定义一个方法! 这方法含有两个参数!
第一个参数控制,要输出图形的行! 另一个控制要输出的列!
两个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个*的直角三角行
其他的形状也基本上都是一样的道理
那就输出个三角形把
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;
}
}
}
自己琢磨就明白了
C语言如下程序错误何在啊,srand未定义是什么意思
你好!加上头文件就可以了:头文件如下:include<stdlib.h>\/\/调用rand()及srand()函数 include \/\/调用time() 函数
C语言魅力何在
现在总的来说语言的两大体系就是C语系与微软的Visual Basic语系。学好C语言后,将来学习C语系的任何一款语言你会感觉很上手,比如说,Java,C++,PHP...。但是,如果你只是想学习C++的话,那么你大可不必先学习C语言然后在学C++。这样做并不是说没有好处,只是将来你会花费一些时间去忘掉C(面向过程)...
C语言中源程序与源文件的区别何在。
你好:我们开发过程中, 很少提及源程序和源文件。 一般都提源代码。和运行文件, 那就是可执行文件。源代码: 也就是可以进行阅读, 可以进行修改, 能进行编译生成的运行文件。对于你说的源程序和源文件。 我说的源代码应该包含了。
C语言是一种什么语言?
按照常理,C语言学的越多,说明你的程序设计知识越多,设计起程序来应该更加得心应手,那么出现这种现象的原因何在呢?当然该问题的出现的原因是多方面的,但是其中最重要的一点就是长期以来程序设计的观念不是以如何处理好对象为出发点,而是以如何使用好语言为基本点。受这种思想的影响,我们的程序设计教学大多数不是以...
什么是C语言程序设计.
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统...
c语言 如下源码,运行的时候 有些语句直接被跳过,原因何在?求详解...
纯粹的scanf("%c"),或者getchar()都会把你上一次输入的回车符(\\n)读入了。然后你就读入了一个回车符。正确的方式是读入到一个字符串,再取字符串首位。代码:\/\/老师 学生 信息放在一起 并打印出来#include<stdio.h>union condition{int score[4];\/\/学生4科成绩char situation[40];\/\/教师工作...
c语言中定义命名常量的意义何在?书上写什么确保一个数的值不会因错误...
有些常量会在很多地方引用,如果直接写数字,当这个常量要修改它的值,你得一个一个地修改,这样很容易发生错误,有可能会漏掉一些地方,也有可能会和具有其它意义但是数值相同的常量搞混,如果定义命名常量,你就只需要改那个定义的值就够了,我想书上写的那句话也许是针对第二个好处吧 ...
C语言大神何在!!!?求解如下代码的意思
c+3); break; case 3:putchar(c+2); default:putchar(c+1); break; } } printf("\\n");}\/\/输入1\/\/c-'2'为-1,走default分支,打印'1'+1为'2'\/\/输入2\/\/c-'2'为0,从case 0开始走,打印'2'+4为'6'和case2的 '5'\/\/输入3\/\/c-'2'为1,打印'...
C语言 (*p)[] 与*p[]区别何在
括号内运算优先,区别在运算结果不同。求采纳
计算机C语言有什么用啊??
1、C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2、C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式...
祁柴菲得: 这有一个输出正三角形的··· 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); }...
祁门县19564636128: /4.根据输入的n在控制台上显示对应的图案.例如输入3 //显示: //@ @ // @ @ // @ // @ @ //@ @ - ?
祁柴菲得: 画图...
祁门县19564636128: C#编写一个能在控制台中输出杨辉三角的应用程序(注:杨辉三角的两条边都是数字1,而其余的 - ?
祁柴菲得: static void Main(string[] args) { //int x, y; int[,] a = new int[5, 5]; for (int x = 0; x < 5; x++) { for (int y = 0; y < x; y++) { if (y == 0 || x == y) a[x, y] = 1; else a[x, y] = a[x - 1, y - 1] + a[x - 1, y]; Console.Write(a[x, y] + " "); } Console.WriteLine(); } Console.ReadLine(); }
祁门县19564636128: 用C#中的for循环语句显示月份,如一月,二月.... - ?
祁柴菲得: C#控制台应用程序:: void writeMonth(){string[] month = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };string s="";for (int i = 1; i <= ...
祁门县19564636128: 编写一个C#控制台程序,从键盘输入三个字符串,显示最大的一个字符串 - ?
祁柴菲得: Console.Write("请输入一个字符串:"); string str = Console.ReadLine(); int count = 0; foreach (char c in str) { if (char.IsLetter(c)) { count ++; } } Console.WriteLine(string.Format("字符串{0}中字母的个数为:{1}", str, count)); Console.ReadLine(); 你在VS里面新建一个控制台程序,放在main()主函数里面,运行即可以.
祁门县19564636128: C#编写控制台应用程序使用if语句求三个整数最大值和最小值 - ?
祁柴菲得: int a,b,c; int max,min; //最大 if(a>b)if(a>c)max = a;elsemax = c; elseif(b>c)max = b;elsemax = c; //最小 if(a<b)if(a<c)min = a;elsemin = c; elseif(b<c)min = b;elsemin = c;
祁门县19564636128: C# 控制台应用程序 弹出窗,怎么做到窗口模式 - ?
祁柴菲得: 代码给在下面,你嘚先做个窗体,添加windos.forms这个引用 操作看图,然后Main函数里的代码如下,不会的话追问我 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; ...
祁门县19564636128: C#编写程序,从键盘输入一个三位数,求其逆序数并输出,比如输入123,输出321. - ?
祁柴菲得: 控制台应用程序吗? 给你写一个: string s = "";char[] c = Console.ReadLine().ToCharArray();for (int i = c.Length; i > 0; i--){s += c[i-1];}Console.WriteLine(s);Console.ReadLine(); 这个你可以输入任何字符都可以输出为逆序.如果要输入数字的话只需要再判断是否为数字就可以了希望对你有所帮助啊
祁门县19564636128: 编写一个C#控制台应用程序,要求:有三个变量:学生的学号、姓名、成绩,实现学生的增加,查找,计数. - ?
祁柴菲得: 自己写一个Student类撒..然后将增加的学生全部都放在List<Student>中存储,..然后根据list.count来计算学生的数量 如果要查找学生用foreach(Student s in list)来遍历list 如果找到 s.name==要找的人的名字 那么就查找成功了撒.!
祁门县19564636128: 如何使用控制台方式创建C#程序? - ?
祁柴菲得: 步骤如下(以Visual Studio 2008为例):1、在“文件”菜单上,单击“新建项目”.2、将出现“新建项目”对话框.此对话框列出了 Visual Studio 2008能够创建的不同的默认应用程序类型.3、选择“控制台应用程序”作为项目类型,并将应用程序的名称更改为“ListFile”.默认位置应是恰当的,但始终可以根据需要输入新路径.单击“确定”.4、Visual Studio 2008 为项目创建以项目标题命名的新文件夹,然后打开 Visual Studio 2008 主窗口和代码窗格,将在代码窗格中输入和修改用于创建应用程序的 C# 源代码.