打印数字图像
时间:2010-11-22 来源:Miss ♥ When...
1
1 2 1
1 2 4 2 1
1 2 4 8 4 2 1
1 2 4 8 16 8 4 2 1
1 2 4 8 16 32 16 8 4 2 1
1 2 4 8 16 32 64 32 16 8 4 2 1
1 2 4 8 16 32 64 128 64 32 16 8 4 2 1
程序文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace for循环打印示例图
{
class Program
{
public static void print(double num)// 判断数字中字符的长度,并按指定的长度输出
{
string st=Convert.ToString(num);
int size=st.Length;
if(size==1)
{
Console.Write(" "+num+" ");
}
else if(size==2)
{
Console.Write(" "+num+" ");
}
else if(size==3)
{
Console.Write(" "+num);
}
}
static void Main(string[] args)
{
int m;
int n;
int p=0;
double c;
const double N=2;
for(m=1;m<9;m++)// 循环输出8行数字
{
for(n=35;n>p;n--)// 判断每行数字前应输出的空格数
{
Console.Write(" ");
}
p+=5;
for(c=0;c<m;c++)
{
print(Math.Pow(N,c));//调用print方法输出每行的前半部分
}
if(c>1)// 判断是否为第一行,若为第一行则没有后半部分
{
c-=2;// 输出后半部分时,去掉中间重复的数字
for(;c>=0;c--)
{
print(Math.Pow(N,c));//调用print方法输出每行的后半部分
}
}
Console.Write("\n\n");// 换行
}
Console.ReadKey();
}
}
}