18个函数
namespace zuoye
{
class Program
{
//1.输入三个整数,xyz,最终以从小到大的方式输出。利用if嵌套。
public void HS1()
{
int t = 0;
int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
int z = int.Parse(Console.ReadLine());
if (x < y && x < z)
{
if (y < z)
{
Console.WriteLine("三个数由小到大的顺序是:" + x + " " + y + " " + z);
}
else
Console.WriteLine("三个数由小到大的顺序是:" + x + " " + z + " " + y);
}
if (y < z && y < x)
{
if (x < z)
{
Console.WriteLine("三个数由小到大的顺序是:" + y + " " + x + " " + z);
}
else
Console.WriteLine("三个数由小到大的顺序是:" + y + " " + z + " " + x);
}
if (z < x && z < y)
{
if (x < y)
{
Console.WriteLine("三个数由小到大的顺序是:" + z + " " + x + " " + y);
}
else
Console.WriteLine("三个数由小到大的顺序是:" + z + " " + y + " " + x);
}
}
//2.输入三个整数,xyz,最终以从小到大的方式输出。利用中间变量。
public void HS2()
{
int t = 0;
int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
int z = int.Parse(Console.ReadLine());
if (x > y)
{
t = x;
x = y;
y = t;
}
if (x > z)
{
t = x;
x = z;
z = t;
}
if (y > z)
{
t = y;
y = z;
y = t;
}
Console.WriteLine("三个数由小到大的书序是:" + x + " " + y + " " + z);
}
//3.输入三个整数,xyz,最终以从小到大的方式输出。利用条件运算符。
public void HS3()
{
Console.WriteLine("输入x:");
int x = int.Parse(Console.ReadLine());
Console.WriteLine("输入y:");
int y= int.Parse(Console.ReadLine());
Console.WriteLine("输入z:");
int z = int.Parse(Console.ReadLine());
if (x < y && x < z)
{
int a = (y < z) ? y : z;
int b= (y > z) ? y : z;
Console.WriteLine("三个数由小到大的书序是:" + x + " " +a + " " + b);
}
if (y<x && y < z)
{
int a = (x < z) ?x : z;
int b = (x > z) ? x : z;
Console.WriteLine("三个数由小到大的书序是:" + y + " " + a + " " + b);
}
if (z<x && z<y)
{
int a = (x < y) ?x : y;
int b = (x > y) ? x :y;
Console.WriteLine("三个数由小到大的书序是:" + z + " " + a + " " + b);
}
}
//4.“现在几点了?”键盘键入小时数,判断是上午还是下午。打印出来现在是上午几点还是下午几点。
//利用条件运算符。
public string HS4()
{
Console.WriteLine("现在是几点了?");
double a = double.Parse(Console.ReadLine());
if (a > 0 && a < 24)
{
int b = (int)a;
string c = (a >= 12) ? ("现在是:" + (b-12) + "pm") : ("现在是:" + b + "am");
return c;
}
else
return "输入有误。";
}
//5.相亲过程:你有房子么?你有钱么?你有能力么?
//【结婚吧】【先买房子在结婚】【先赚钱再买房子再结婚】都没有【拜拜~~】
//利用if嵌套做相亲过程。
public string HS5()
{
Console.WriteLine("相亲过程:");
Console.WriteLine("你有房没?");
string a = Console.ReadLine();
if (a == "有")
{
return "咱们结婚吧!";
}
else
Console.WriteLine("你有钱没?");
a = Console.ReadLine();
if (a == "有")
{
return "先买房再结婚!";
}
else
Console.WriteLine("你有能力么?");
a = Console.ReadLine();
if (a == "有")
{
return "先赚钱再买房再结婚!";
}
else
return "拜拜";
}
//6.输入年月日,看看格式是否正确。利用if嵌套。
public void HS6()
{
Console.WriteLine("输入年");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("输入月");
int b = int.Parse(Console.ReadLine());
Console.WriteLine("输入日期");
int c = int.Parse(Console.ReadLine());
Console.WriteLine("判断是否正确");
if (a >= 0 && a < 9999)
{
if (b > 0 && b < 13)
{
if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)//1,3,5,7,8,10,12月
{
if (c > 0 && c <= 31)
{
Console.WriteLine("输入正确:" + a + "年" + b + "月" + c + "日");
}
else
Console.WriteLine("日期输入有误");
}
if (b == 4 || b == 6 || b == 9 || b == 11)//4,6,9,11月
{
if (c > 0 && c <= 30)
{
Console.WriteLine("输入正确:" + a + "年" + b + "月" + c + "日");
}
else
Console.WriteLine("日期输入有误");
}
if (b == 2)//2月
{
if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0)//闰年
{
if (c > 0 && c <= 29)
{
Console.WriteLine("输入正确:" + a + "年" + b + "月" + c + "日");
}
else
Console.WriteLine("日期输入有误");
}
else//平年
if (c > 0 && c <= 28)
{
Console.WriteLine("输入正确:" + a + "年" + b + "月" + c + "日");
}
else
Console.WriteLine("日期输入有误");
}
}
else
Console.WriteLine("月输入有误");
}
else
Console.WriteLine("年输入有误");
}
// 8.做人机猜拳,剪刀石头布。利用switch case。
public void HS8()
{
Console.WriteLine("人机猜拳");
Console.WriteLine("1。剪刀");
Console.WriteLine("2。石头");
Console.WriteLine("3。布");
int a = int.Parse(Console.ReadLine());
switch (a)
{
case 1:
Console.WriteLine("我出剪刀");
break;
case 2:
Console.WriteLine("我出石头");
break;
case 3:
Console.WriteLine("我出布");
break;
default:
break;
}
Random ran = new Random();
int n = ran.Next(1, 4);
switch (n)
{
case 1:
Console.WriteLine("电脑出剪刀");
break;
case 2:
Console.WriteLine("电脑出石头");
break;
case 3:
Console.WriteLine("电脑出布");
break;
default:
break;
}
if (a - n == 1 || a - n == -2)
{
Console.WriteLine("我赢了");
}
if (a - n == 2 || a - n == -1)
{
Console.WriteLine("我输了");
}
if (a - n == 0)
{
Console.WriteLine("平局");
}
}
//9.输入一个正整数,求1!+2!+3!+...+n!。利用for循环嵌套。
public double HS9()
{
double t = 1;
double sum = 0;
int m = int.Parse(Console.ReadLine());
for (int i = 1; i <= m; i++)
{
t *= i;
sum += t;
}
return sum;
}
//10.找出100以内与7有关的数并打印,并求出他们的和。利用for循环+if。
public int HS10()
{
int t = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)
{
t += i;
Console.WriteLine(i);
}
}
return t;
}
//11.一个游戏,前20关是每一关自身的分数,
//21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,第50关是100分,
// 输入你现在闯到的关卡数,求你现在拥有的分数。利用if嵌套for。
public int HS11()
{
int t = 0;
int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
if (i <= 20)
{
t += i;
}
if (i >= 21 && i <= 30)
{
t += 10;
}
if (i >= 31 && i <= 40)
{
t += 20;
}
if (i >= 41 && i <= 49)
{
t += 30;
}
if (i == 50)
{
t += 100;
}
}
return t;
}
//12.一个游戏,前20关是每一关自身的分数,
//21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,第50关是100分,
// 输入你现在闯到的关卡数,求你现在拥有的分数。
//利用for嵌套if。
public int HS12()
{
int t = 0;
int n = int.Parse(Console.ReadLine());
if (n <= 20)
{
for (int i = 1; i <= n; i++)
{
t += i;
}
}
int sum = 0;
for (int i = 1; i <= 20; i++)
{
sum += i;
}
if (n <= 30 && n >= 21)
{
t = sum;
for (int i = 1; i <= n - 20; i++)
{
t += 10;
}
}
if (n <= 40 && n >= 31)
{
t = sum + 10 * (30 - 20);
for (int i = 1; i <= n - 30; i++)
{
t += 20;
}
}
if (n <= 49 && n >= 41)
{
t = sum + 20 * (40 - 30) + 10 * (30 - 20);
for (int i = 1; i <= n - 40; i++)
{
t += 30;
}
}
if (n == 50)
{
t = sum + 100 + 30 * (49 - 40) + 20 * (40 - 30) + 10 * (30 - 20);
}
return t;
}
//13.输入月份和日期,输出是今年的第多少天。(2月按照28天计算)利用switch case。
public int HS13(int m, int n)
{
int sum = 0;
switch (m)
{
case 1:
sum = n;
break;
case 2:
sum = 31 + n;
break;
case 3:
sum = 31 + 28 + n;
break;
case 4:
sum = 31 + 28 + 31 + n;
break;
case 5:
sum = 31 + 28 + 31 + 30 + n;
break;
case 6:
sum = 31 + 28 + 31 + 30 + 31 + n;
break;
case 7:
sum = 31 + 28 + 31 + 30 + 31 + 30 + n;
break;
case 8:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + n;
break;
case 9:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + n;
break;
case 10:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + n;
break;
case 11:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + n;
break;
case 12:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + n;
break;
default:
break;
}
return sum;
}
// 14.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,
//如何在凑够100只鸡的情况下刚好花完100文钱?
//利用for嵌套+if筛选。
public void HS14()
{
int sum = 0;
for (int i = 0; i <= 100 / 2; i++)
{
for (int j = 0; j <= 100; j++)
{
for (int k = 0; k <= 100; k++)
{
if (i + j + k == 100 && i * 2 + j + k * 0.5 == 100)
{
Console.WriteLine("公鸡数:" + i + "母鸡数:" + j + "小鸡数:" + k);
sum++;
}
}
}
}
Console.WriteLine("总方法数:" + sum);
}
//15.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,
//该如何分配?
//利用for嵌套+if筛选。
public void HS15()
{
int sum = 0;
for (int i = 0; i <= 100 / 2; i++)
{
for (int j = 0; j <= 100; j++)
{
for (int k = 0; k <= 100; k++)
{
if (i + j + k == 100 && i * 2 + j + k * 0.5 == 100)
{
Console.WriteLine("大马数:" + i + "中等马数:" + j + "小马数:" + k);
sum++;
}
}
}
}
Console.WriteLine("总方法数:" + sum);
}
//16.纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848?
//利用while。
public int HS16()
{
int t = 0;
int a = 7;
while (a < 884800000)
{
a *= 2;
t++;
}
return t;
}
// 17.兔子生兔子。除了第一个月之后的所有月份都可以直接执行。
// 成兔=上个月的成兔加上上个月的小兔。
//小兔=上个月的幼兔。
//幼兔=上个月的成兔加上上个月的小兔(即这个月的成兔)
//利用for嵌套if。
public void HS17(int n)
{
int cheng = 0;
int xiao = 0;
int you = 1;
for (int i = 2; i <= n; i++)
{
cheng += xiao;
xiao = you;
you = cheng;
}
Console.WriteLine(n + "个月后" + cheng + "对成兔" + xiao + "对小兔子" + you + "对幼兔子");
}
//19.五个候选班长,20人投票。
//输入1-5来表示支持哪(个人)最后查看票数,看那个人胜出。
//不是1~5之内的数视为票作废。
//利用数组。
public void HS19()
{
int[] a = new int[5];
for (int i = 0; i < 5; i++)
{
a[i] = 0;
}
Console.WriteLine("开始投票");
for (int i = 1; i <= 20; i++)
{
int t = int.Parse(Console.ReadLine());
switch (t)
{
case 1:
Console.WriteLine("1号得一票");
a[0]++;
break;
case 2:
Console.WriteLine("2号得一票");
a[1]++;
break;
case 3:
Console.WriteLine("3号得一票");
a[2]++;
break;
case 4:
Console.WriteLine("4号得一票");
a[3]++;
break;
case 5:
Console.WriteLine("5号得一票");
a[4]++;
break;
default:
Console.WriteLine("此票作废");
break;
}
}
for (int i = 0; i < 5; i++)
{
int m = 0;
for (int j = 0; j < 5; j++)
{
while (a[i] < a[j])//出现比a[i]大的数
{
m++;
}
}
if (m == 0)
{
Console.WriteLine((i + 1) + "号得票最多,得" + a[i] + "票");
}
}
}
// 20.输入手机号码个数,根据手机号码个数创建数组。做抽奖活动。
//利用System.Threading.Thread.Sleep(3000);
//程序暂停3秒
public void HS20()
{
Console.WriteLine("输入手机号码个数");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
for (int i = 0; i < n; i++)
{
a[i] = int.Parse(Console.ReadLine());
}
Random ran = new Random();
for (; ; )
{
Console.Clear();
Console.WriteLine(a[ran.Next(n)]);
System.Threading.Thread.Sleep(3000);
}
}
static void Main(string[] args)
{
Program N = new Program();
//N.HS1(); //第一题
//N.HS2(); //第二题
//N.HS3(); //第三题
//string a=N.HS4(); //第四题
//Console.WriteLine(a);
//string c = N.HS5(); //第五题
//Console.WriteLine(c);
//N.HS6(); //第六题
//N.HS8(); //第8题
//double d = N.HS9(); //第9题
//Console.WriteLine(d);
//int e= N.HS10(); //第十题
//Console.WriteLine(t);
//int f = N.HS11(); //第十一题
//Console.WriteLine(f);
//int g = N.HS12(); //第十二题
//Console.WriteLine(g);
// Console.WriteLine("输入月份:");//第十三题
// int h = int.Parse(Console.ReadLine());
// Console.WriteLine("输入日期:");
//int i = int.Parse(Console.ReadLine());
//int j = N.HS13(h,i);
//Console.WriteLine("今天是今年的第"+j+"天");
//N.HS14(); //第十四题
//N.HS15(); //第十五题
//int t = N.HS16(); //第十六题
//Console.WriteLine("对折次数:"+t);
//N.HS17(7); //第十七题
//N.HS19(); //第十九题
//N.HS20(); //第20题
Console.ReadLine();
}
}
}