1.打印一个金字塔
代码:
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//金字塔
int num = 5; //金字塔层数
for (int i = 0; i < num; i++)
{
for (int j = 1; j < num * 2; j++)
{
if ((j >= num && j - num <= i) || (j <= num && num - j <= i))
{
Console.Write("A");
}
else
{
Console.Write(0);
}
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
运行结果:
打印一个镂空的菱形
代码:
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//菱形
int num = 7; //菱形的层数
for (int i = 0; i < num; i++)
{
int temp = i <= num / 2 ? i : num - 1 - i; //不加这一句的话,菱形只有上半部分
for (int j = 0; j < num; j++)
{
if ((j >= num / 2 && j - num / 2 == temp) || (j <= num / 2 && num / 2 - j == temp))
{
Console.Write("A");
}
else
{
Console.Write(0);
}
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
运行结果:
万年历
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//万年历 366 365
Console.WriteLine("请输入要查询的年份(1900年以后):");
int year = Int32.Parse(Console.ReadLine());
bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
//月大:1,3,5,7,8,10,12是大月份
int[] daysOfMonth = new int[12];
//给每一个月的天数赋值
for (int i = 0; i < 12; i++)
{
int month = i + 1;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
daysOfMonth[i] = 31;
}
else if (month == 2)
{
daysOfMonth[i] = isLeapYear ? 29 : 28;
}
else
{
daysOfMonth[i] = 30;
}
}
//计算每年1月1日是星期几(根据1900年1月1日是星期一来计算)
int headWeekDayOfYear = 1;
for (int i = 1900; i <= year - 1; i++)
{
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
{
headWeekDayOfYear = (366 + headWeekDayOfYear) % 7;
}
else
{
headWeekDayOfYear = (365 + headWeekDayOfYear) % 7;
}
}
//打印日历
int headWeekDayOfMonth = headWeekDayOfYear;
for (int i = 0; i < 12; i++)
{
Console.WriteLine("{0}月份,1号星期{1}", (i + 1), headWeekDayOfMonth);
Console.WriteLine("日" + '\t' + "一" + '\t' + "二" + '\t' + "三" + '\t' + "四" + '\t' + "五" + '\t' + "六");
//每月开头可能会空几个日子
for (int k = 0; k < headWeekDayOfMonth; k++)
{
Console.Write("\t");
}
for (int j = 0; j < daysOfMonth[i]; j++)
{
Console.Write((j + 1) + "\t");
headWeekDayOfMonth += 1;
if (headWeekDayOfMonth == 7)
{
Console.WriteLine();
headWeekDayOfMonth %= 7;
}
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
输出结果:
费波纳奇数
代码:
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//费波纳奇数 fn = fn-1 + fn-2
Console.WriteLine("要查询第几个费波纳奇数?");
int num = Int32.Parse(Console.ReadLine());
int temp1 = 1;
int temp2 = 1;
int result = 1;
for (int i = 2; i < num; i++)
{
result = temp1 + temp2;
temp1 = temp2;
temp2 = result;
}
Console.WriteLine("第{0}个费波纳奇数是:{1}", num, result);
Console.ReadKey();
}
}
}
运行结果: