问题描述
//C#新手写的不好勿喷!Console.WriteLine("请输入一个数?");//这里假设只能输入数字intnumber=Convert.ToInt32(Console.ReadLine());intss=(number/2);boolburz;for(inti=1;i<=number;i++){for(intj=1;j<=number;j++){burz=false;if(Math.Abs(ss)>=j){Console.Write("");burz=true;continue;}if(burz==false){if(number-Math.Abs(ss)<j){Console.Write("");}else{Console.Write("*");}}}Console.WriteLine();ss--;}Console.ReadKey();
解决方案
解决方案二:
输入12根本就不可能产生菱形。
解决方案三:
关键是你的13和12是个什么逻辑意义。有些人抛出一个静态图形,也没有文字描述,就让别人自己去猜测逻辑意义,这些人写出来的东西总是跟羊拉屎一样难以连贯理解。按照你的程序,那么13就是”一共有多少行“。而这个行数如若是偶数,就绝对不能产生菱形。只有奇数行才可能产生菱形。如果换一种理解,或许可以产生菱形://C#新手写的不好勿喷!Console.WriteLine("请输入一个数?");//这里假设只能输入数字intnumber=Convert.ToInt32(Console.ReadLine())/2+1;for(inti=1;i<=number;i++){Console.Write(newstring('',number-i));Console.WriteLine(newstring('*',i*2-1));}for(inti=number-1;i>=1;i--){Console.Write(newstring('',number-i));Console.WriteLine(newstring('*',i*2-1));}
因此我们绝对不允许那些只喜欢抛出一个图片或者代码,而懒于做逻辑定义解说的人。
解决方案四:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){inta,i;//a是总行数,i用来控制行数小于总行数,j用来控制每行的*和空格的输出。Console.Write("请输入菱形总行数:");a=Convert.ToInt32(Console.ReadLine());if(a%2==0){Console.Write("输入错误,请输入奇数:");a=Convert.ToInt32(Console.ReadLine());}else{for(i=1;i<=a;i++){if(i<=(a+1)/2){for(intj=0;j<(a+1)/2-i;j++){Console.Write("");}for(intj=0;j<i;j++){Console.Write("*");}Console.WriteLine();}else{for(intj=0;j<i-(a+1)/2;j++){Console.Write("");}for(intj=0;j<a+1-i;j++){Console.Write("*");}Console.WriteLine();}}Console.ReadLine();}}}}
借用一段代码,偶数是不可以哦,必须是奇数。
解决方案五:
给你个提示:strings=newstring('*',5);//s="*****";看看你能不能写出更简化的程序。
解决方案六:
绘制多边形图案privatevoidbutton1_Click(objectsender,EventArgse){Graphicsghs=this.CreateGraphics();//实例化Graphics类PenmyPen=newPen(Color.Black,3);//实例化Pen类Pointpoint1=newPoint(80,20);//实例化Point类,表示第1个点Pointpoint2=newPoint(40,50);//实例化Point类,表示第2个点Pointpoint3=newPoint(80,80);//实例化Point类,表示第3个点Pointpoint4=newPoint(160,80);//实例化Point类,表示第4个点Pointpoint5=newPoint(200,50);//实例化Point类,表示第5个点Pointpoint6=newPoint(160,20);//实例化Point类,表示第6个点Point[]myPoints={point1,point2,point3,point4,point5,point6};//创建Point结构数组ghs.DrawPolygon(myPen,myPoints);//调用Graphics对象的DrawPolygon方法绘制一个多边形}
解决方案七:
解决方案八:
菱形obj=new菱形(13);obj.WriteToConsole();
解决方案九:
解决方案十:
intsize=7;intlimit=(size-1)/2;for(inti=0;i<size;i++){string_temp=(newstring('',Math.Abs(limit))+newstring('*',size-Math.Abs(limit)*2));Console.WriteLine(_temp);limit--;}Console.ReadKey();
够精简不?
解决方案十一:
解决方案十二:
偶数似乎只是对上形状而已,没什么意思
解决方案十三:
Console.WriteLine("请输入一个数字");intnum=Convert.ToInt32(Console.ReadLine());intsum=num*2-1;for(inti=1;i<num+1;i++){stringx=newstring('',sum-i);strings=newstring('*',i*2-1);Console.WriteLine(x+s);}Console.ReadKey();//输出一个三角,菱形再反向输出一遍好啦