using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HW1
{
class Program
{
static void Main(string[] args)
{
//問題1
int Arms_num, s;
Console.WriteLine("1.阿姆斯壯數(100~999):");
for (Arms_num = 100; Arms_num <= 999; Arms_num++)
{
s = (Arms_num / 100) * (Arms_num / 100) * (Arms_num / 100);
s = s + (Arms_num / 10 % 10) * (Arms_num / 10 % 10) * (Arms_num / 10 % 10);
s = s + (Arms_num % 10) * (Arms_num % 10) * (Arms_num % 10);
if (Arms_num == s)
Console.WriteLine("{0}", Arms_num);
}
Console.Read();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//問題2
int year;
Console.WriteLine("2.");
Console.WriteLine("輸入西元年:");
year = int.Parse(Console.ReadLine());
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
Console.WriteLine("西元{0}年是閏年", year);
else
Console.WriteLine("西元{0}年是平年", year);
Console.Read();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Homework1_3
{
class Program
{
static void Main(string[] args)
{
//問題3
int year,mon;
string input;
Console.WriteLine("請輸入年份");
input = Console.ReadLine();
year = int.Parse(input);
Console.WriteLine("請輸入月份");
input = Console.ReadLine();
mon = int.Parse(input);
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12)
Console.WriteLine("{0}年{1}月有31天", year, mon);
else if (mon == 2)
Console.WriteLine("{0}年{1}月有29天", year, mon);
else
Console.WriteLine("{0}年{1}月有30天", year, mon);
}
else
{
if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12)
Console.WriteLine("{0}年{1}月有31天", year, mon);
else if (mon == 2)
Console.WriteLine("{0}年{1}月有28天", year, mon);
else
Console.WriteLine("{0}年{1}月有30天", year, mon);
}
Console.Read();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Homework1_4
{
class part4
{
static void Main(string[] args)
{
//問題4
int year, mon, day, week;
string input;
Console.WriteLine("請輸入年份");
input = Console.ReadLine();
year = int.Parse(input);
Console.WriteLine("請輸入月份");
input = Console.ReadLine();
mon = int.Parse(input);
Console.WriteLine("請輸入日期");
input = Console.ReadLine();
day = int.Parse(input);
if (mon == 1 || mon == 2)
{
year--;
mon += 12;
}
week = (day + 1 + 2 * mon + 3 * (mon + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;
switch (week)
{
case 0:
Console.WriteLine("為星期日");
break;
case 1:
Console.WriteLine("為星期一");
break;
case 2:
Console.WriteLine("為星期二");
break;
case 3:
Console.WriteLine("為星期三");
break;
case 4:
Console.WriteLine("為星期四");
break;
case 5:
Console.WriteLine("為星期五");
break;
case 6:
Console.WriteLine("為星期六");
break;
}
Console.Read();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HW1
{
class Program
{
static void Main(string[] args)
{
//問題5
int year, mon, day;
Console.WriteLine("5.");
Console.WriteLine("輸入西元年");
year = int.Parse(Console.ReadLine());
Console.WriteLine("輸入月份");
mon = int.Parse(Console.ReadLine());
Console.WriteLine("輸入日期");
day = int.Parse(Console.ReadLine());
if (mon > 12 || mon < 1)
Console.WriteLine("false");
else
{
switch (mon)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (day > 31 || day <= 0)
Console.WriteLine("false");
else
Console.WriteLine("true");
break;
case 4:
case 6:
case 9:
case 11:
if (day > 30 || day < 1)
Console.WriteLine("false");
else
Console.WriteLine("true");
break;
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
if (day > 29 || day < 1)
Console.WriteLine("false");
else
Console.WriteLine("true");
}
else
{
if (day > 28 || day < 1)
Console.WriteLine("false");
else
Console.WriteLine("true");
}
break;
}
}
Console.Read();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HW1
{
class Program
{
static void Main(string[] args)
{
//問題6
int y2, m2, d2, y1, m1, d1, Day2 = 0, Day1 = 0;
String s_y2, s_m2, s_d2, s_y1, s_m1, s_d1;
Console.WriteLine("6.");
///
/// 輸入結束的時間
///
Console.WriteLine("輸入結束時間:");
Console.WriteLine("輸入西元年");
s_y2 = Console.ReadLine();
y2 = int.Parse(s_y2);
Console.WriteLine("輸入月份");
s_m2 = Console.ReadLine();
m2 = int.Parse(s_m2);
Console.WriteLine("輸入日期");
s_d2 = Console.ReadLine();
d2 = int.Parse(s_d2);
Console.WriteLine();
///
/// 輸入開始的時間
///
Console.WriteLine("輸入開始時間:");
Console.WriteLine("輸入西元年");
s_y1 = Console.ReadLine();
y1 = int.Parse(s_y1);
Console.WriteLine("輸入月份");
s_m1 = Console.ReadLine();
m1 = int.Parse(s_m1);
Console.WriteLine("輸入日期");
s_d1 = Console.ReadLine();
d1 = int.Parse(s_d1);
///
/// 計算結束的時間和西元前1年12月31日的時間差
///
Day2 = (y2 - 1) * 365 + (y2 - 1) / 4 - (y2 - 1) / 100 + (y2 - 1) / 400;
switch (m2)
{
case 1:
Day2 = Day2 + d2;
break;
case 2:
Day2 = Day2 + 31 + d2;
break;
case 3:
Day2 = Day2 + 31 + 28 + d2;
break;
case 4:
Day2 = Day2 + 31 * 2 + 28 + d2;
break;
case 5:
Day2 = Day2 + 31 * 2 + 28 + 30 + d2;
break;
case 6:
Day2 = Day2 + 31 * 3 + 28 + 30 + d2;
break;
case 7:
Day2 = Day2 + 31 * 3 + 28 + 30 * 2 + d2;
break;
case 8:
Day2 = Day2 + 31 * 4 + 28 + 30 * 2 + d2;
break;
case 9:
Day2 = Day2 + 31 * 5 + 28 + 30 * 2 + d2;
break;
case 10:
Day2 = Day2 + 31 * 5 + 28 + 30 * 3 + d2;
break;
case 11:
Day2 = Day2 + 31 * 6 + 28 + 30 * 3 + d2;
break;
case 12:
Day2 = Day2 + 31 * 6 + 28 + 30 * 4 + d2;
break;
}
if ((y2 % 4 == 0 && y2 % 100 != 0 || y2 % 400 == 0) && m2 > 2)
Day2 = Day2 + 1;
///
/// 計算開始的時間和西元前1年12月31日的時間差
///
Day1 = (y1 - 1) * 365 + (y1 - 1) / 4 - (y1 - 1) / 100 + (y1 - 1) / 400;
switch (m1)
{
case 1:
Day1 = Day1 + d1;
break;
case 2:
Day1 = Day1 + 31 + d1;
break;
case 3:
Day1 = Day1 + 31 + 28 + d1;
break;
case 4:
Day1 = Day1 + 31 * 2 + 28 + d1;
break;
case 5:
Day1 = Day1 + 31 * 2 + 28 + 30 + d1;
break;
case 6:
Day1 = Day1 + 31 * 3 + 28 + 30 + d1;
break;
case 7:
Day1 = Day1 + 31 * 3 + 28 + 30 * 2 + d1;
break;
case 8:
Day1 = Day1 + 31 * 4 + 28 + 30 * 2 + d1;
break;
case 9:
Day1 = Day1 + 31 * 5 + 28 + 30 * 2 + d1;
break;
case 10:
Day1 = Day1 + 31 * 5 + 28 + 30 * 3 + d1;
break;
case 11:
Day1 = Day1 + 31 * 6 + 28 + 30 * 3 + d1;
break;
case 12:
Day1 = Day1 + 31 * 6 + 28 + 30 * 4 + d1;
break;
}
if ((y1 % 4 == 0 && y1 % 100 != 0 || y1 % 400 == 0) && m1 > 2)
Day1 = Day1 + 1;
///
/// 印出所求的答案
///
Console.WriteLine("開始日期和結束日期之間有{0}天", Day2 - Day1 - 1);
Console.Read();
}
}
}
第一題:
回覆刪除(7) namespace命名:HW1 >> Homework1_1
(14) 變數命名:Arms_num >> numArms
s >> sum
(18).(19).(20) 3次方可使用Math.Pow(value, power) BTW變數要改Double...
(21) 條件式 if 單行也須使用大括號 { }
第二題:
(7) namespace命名:ConsoleApplication1 >> Homework1_2
(15).(16) Console.WriteLine("2."); Console.WriteLine("輸入西元年:"); 可改用Console.WriteLine("2.\n輸入西元年:");
(18).(20) 條件式 if.else 單行也須使用大括號 { }
第三題:
(13) 變數命名:mon >> month
(22) 當條件較單一.多項時 可改用switch 版面較為簡約優雅
(24).(26).(28).(33).(35).(37) 條件式 if.else if. else 單行也須使用大括號 { }
第四題:
(13) 變數命名:mon >> month
第五題:
(7) namespace命名:ConsoleApplication1 >> Homework1_2
(15) 變數命名:mon >> month
(27).(40).(42).(49).(51).(57).(59).(64).(66) 條件式 if.else if. else單行也須使用大括號 { }
(40).(49) 條件判斷"建議"使用相同的條件運算子
第六題:
(7) namespace命名:ConsoleApplication1 >> Homework1_2
(15) 變數命名y2 >> year2
m2 >> month2
d2 >> day2 ...(依此類推)
(60).(107) 可改用較為smart的演算法 避免不通用的土法煉鋼法
不可使用現成函數 請忽略
刪除(18).(19).(20) 3次方可使用Math.Pow(value, power) BTW變數要改Double...