1昨日作业
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _01作业
{
internal class Program
{
static void Main(string[] args)
{
//转换字符串
////Convert.ToString();
////字符拼接
////0.0 字符串
////parse,tryparse
////Convert.ToInte();
////int.Parse(Console.ReadLine());
////如果条件成立执行1 如果不成立执行else1
////IF () { }else { }
////如果多个判断 .else if ().else
////if.else if.else
////if (args.Length == 0 )
////{
//// if (true)
//// {
//// }
////}
#region 个税
////五险一金: 医疗保险、养老保险、失业保险、失业保险、工伤保险、公积金
////超过5000, 起征点 “五险”金 一个税
////超过5000
////个税= 5000
Console.WriteLine("请输入你的工资:");
double gz = Convert.ToDouble(Console.ReadLine());//总工资
double se = 0; //个税
if (gz - 5000 <= 0)
se = (gz - 5000) * 0 - 0;
else if (gz > 5000 && gz <= 8000)
se = (gz - 5000) * 0.03 - 0;
else if (gz > 8000 && gz <= 17000)
se = (gz - 5000) * 0.1 - 210;
else if (gz > 17000 && gz <= 30000)
se = (gz - 5000) * 0.2 - 1410;
else
se = (gz - 5000) * 0.45 - 15160;
double shuihou = gz - 500 - se; //税后工资
Console.WriteLine($"总工资为{gz},个税为{se},税后{shuihou}");
#endregion
#region 身体质量
Console.WriteLine("请输入你的身高cm");
double height = double.Parse(Console.ReadLine());//获取身高
double weight = double.Parse(Console.ReadLine());//获取体重
Console.WriteLine(height / 100 * 2);//标准体重
double weight1 = (height - 100) * 0.9;//获取当前体重
Console.WriteLine("请输入一个数字");
if (Math.Abs(weight - weight1) < 10) //Math数学 包含一些关于数字的计算方法 abs() 绝对值
Console.WriteLine("身体健康");
else
//Math.Abs(weight - weight1) > 10
if (weight - weight1 > 10)
Console.WriteLine("偏胖");
else
Console.WriteLine("偏胖");
#endregion
#region 三个数的求最大值
Console.WriteLine("请输入第一个数:");
int num1 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
int num2 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第三个数:");
int num3 = int.Parse(Console.ReadLine());
int max = 0; //代表最大值
//if (num1>num2)
//{
// max = num1;
// Console.WriteLine("最大值为"+max);
//}
//if (max < num3)
//{
// max = num3;
//}
//Console.WriteLine(max);
////三目运算符 条件成立? 后面的: 不成立的:后面
////max = num1 > num2 ? num1 : num2;
////max = maxnum1 > num2 ? num1 : num2; 表示如果num1>num2取num1的值;如果不大于等num2,max取num2
////maxnum1num2取大的值
max = num1 > num2 ? num1 : num2;
Console.WriteLine(max);
#endregion
Console.ReadKey();
}
}
}
三目运算符
三目运算符 条件成立? 后面的: 不成立的:后面
max = num1 > num2 ? num1 : num2;
max = maxnum1 > num2 ? num1 : num2; 表示如果num1>num2取num1的值;如果不大于等num2,max取num2
maxnum1num2取大的值
2swich
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02switch
{
internal class Program
{
static void Main(string[] args)
{
//switch 当条件是有限的情况下,可以使用switch进行一一对比
//switch(变量)
//switch 是单种情况
//case break; 跳出switch选择判断
//default: 默认情况 也就是其余的情况
int age = 60;
//switch (age) 根据变量进行判断
switch (age)
{
//多个条件要执行的代码一样 可以写在一起
case 0:
case 10:
Console.WriteLine("少年当自强");
break;
case 18:
Console.WriteLine("成年了");
break;
case 30:
Console.WriteLine("而立之年");
break;
case 40:
Console.WriteLine("40不惑");
break;
case 50:
Console.WriteLine("50知天命");
break;
case 60:
Console.WriteLine("60耳顺");
break;
case 70:
Console.WriteLine("70从心所欲");
break;
case 80:
Console.WriteLine("80古来稀");
break;
}
//用月份的分多少天,要判断是否为天
//1 3 5 7 8 10 12 31天
//4 6 9 11 30天
Console.WriteLine("请输入月份:");
int month = int.Parse(Console.ReadLine());//代表月份
int year = 2024;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
Console.WriteLine($"{month}月有31天");
break;
case 4:
case 6:
case 9:
case 11:
Console.WriteLine($"{month}月有30天");
break;
case 2:
//(year%4==0 && year%100 !=0) || (year%400==0) 对能被整除;%100!=0 不能被100整除
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
Console.WriteLine($"闰年是闰年,2月是29天");
}
else
{
Console.WriteLine($"闰年是平年,2月是28天");
}
break;
default:
break;
}
//出租车价格计算
//0-2公里 起步价8元
//2-12公里 每公里1.6元
//12公里以上 每公里2.4元
//输入一个路程计算费用
double f = 13;
double price = 0;
if (f <= 2) //俩公里内 起步价
{
price = 8;
}
else if (f <= 12)
{
price = 8 + (f - 2) * 1.5;
}
else
{ // 超过12公里 前2公里是8元,中间10公里10*1.5 超过12公里(f-12)*2
price = 8 + 10 * 1.5 + (f - 12) * 2;
}
Console.WriteLine(price);
Console.ReadKey();
}
}
}
switch 当条件是有限的情况下,可以使用switch进行一一对比
switch(变量)
switch 是单种情况
case break; 跳出switch选择判断
default: 默认情况 也就是其余的情况
switch (age) 根据变量进行判断
3循环
循环:我们需要重复执行一些代码的时候,可以把重复代码写一遍,添加循环体即可
循环三要素:
循环初始值:从什么开始 int i = 0
循环条件:从1开始到i<5的最大值能到4
循环递增值:i++ 每次加1
循环体:{}
常用的循环结构 for、while、do..while
for循环
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _03循环
{
internal class Program
{
static void Main(string[] args)
{
//for的结构
/// 循环:我们需要重复执行一些代码的时候,可以把重复代码写一遍,添加循环体即可
/// 循环三要素:
/// 循环初始值:从什么开始 int i = 0
/// 循环条件:从1开始到i<5的最大值能到4
/// 循环递增值:i++ 每次加1
/// 循环体:{}
/// 常用的循环结构 for、while、do..while
//for的结构
//先执行int i=0; 先赋值,再比较i是否小于5,如果小于5,再去执行{}循环体,最后i++
for (int i = 0; i < 5; i++)
{
Console.WriteLine("--------"+i);
}
/// 循环也可以把定义写在for上面,也可以把递增写在循环体里,建议都写在for()小括号里面
int j = 0;
for (; j < 5;)
{
Console.WriteLine("----------" + j); //0 1 2 3 4
j++;
}
Console.WriteLine("******" + j); //5
/// 通过修改初始值达到循环次数
for (int i = 8; i < 18; i++) //如果想循环10次,更改初始值
{
Console.WriteLine("********" + i);
}
/// 通过修改条件表达式达到循环次数
for (int i = 0; i < 10; i++) //如果想循环10次
{
}
/// 通过修改递增表达式达到循环次数
for (int i = 0; i < 20; i += 2) //如果想循环10次
{
Console.WriteLine("+++++++" + i);
}
/// 从大到小进行输出:
for (int i = 9; i > 0; i--)
{
Console.WriteLine("----------" + i);
}
/// 无限循环
//for (int i = 1; i > 0; i--)
//{
// //初始值1,i--不成立,执行循环体1次,再执行i--,变成0,有比小,会一直循环下去
// Console.WriteLine("本来不执行一次");
//}
/// 例子1:计算0到100之间的和 0 + 1 + 2 + 3...100
int sum = 0;
for (int i = 0; i < 101; i++) //从0 1 2 3...100
{
sum = sum + i;
}
/*
i=0 sum=0 sum=0+0
i=1 sum=0+1 sum=1
i=2 sum=1+2 sum=3
i=3 sum=3+3 sum=6
...
*/
Console.WriteLine("总和=" + sum);
/// 例子2:计算偶数和
int sum1 = 0;
for (int i = 0; i < 101; i += 2)
{
sum1 += i;
}
Console.WriteLine(sum1);
/// 例子3:求奇数和
int sum2 = 0;
for (int i = 0; i < 101; i++)
{
if (i % 2 != 0) //满足是奇数的时候
{
sum2 += i; //把奇数添加进来
}
}
Console.WriteLine(sum2);
/// 例子4:猴子摘20桃,每次吃一半,一共能吃多少个(循环求解)
Console.ReadLine();
}
}
}
循环停止和跳过&&十进制和二进制之间的转换
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _04
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break;//跳出当前循环,后续的循环就不再执行
}
Console.WriteLine("----------" + i);//0 1 2 3 4
}
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;//中断本次循环,继续后续的循环
}
Console.WriteLine("++++++++++" + i);//0 1 2 3 4 6 7 8 9
}
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
//return;//跳出当前方法体 整个方法后续代码都不再执行 包含Console.ReadKey(
}
Console.WriteLine("??????????" + i);//0 1 2 3 4
}
//F5 运行
//Ctrl+F5 运行不调试
//F12 可以底层的实现方式
////10进制 0 1 2 3 4 5 6 7 8 9
////2进制 0 1
////10进制转成二进制
////15 转成二进制 1111
//// 1111 转成10进制 1*2^3+1*2^2+1*2^1+1*2^0=15
////63 转成二进制 111111 2^5 +2^4 +2^3 +2^2 +2^1 +2^0 , 111111
Console.ReadKey();
}
}
}
while循环
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _05
{
class Program
{
static void Main(string[] args)
{
int count = 0; //初始值
while (count < 5) // 循环结束条件, 当count小于5 重复执行{}里面代码,直到条件不成立。
{
Console.WriteLine("++++++" + count);
count++; //循环递增量
}
while (true)
{
Console.WriteLine("00000000000000000000000000");
break;
}
// 用户必须输入你很帅 才可以停止输入 否则一直要求输入
// 不确定次数 使用while 死循环
while (true)
{
Console.WriteLine("请输入你对我的印象:");
string s = Console.ReadLine();//读取用户输入
if (s == "你很帅")
{
//跳出循环
Console.WriteLine("我很满意");
break;
}
}
}
}
}
一个有趣的例题
// 例子5、目标是搬砖500个,第一次搬砖1个,后面因为更加熟练,每次递增一倍,1、2、4、8、16.32 64 128 256..,搬砖500个需要多少次
int number = 1;//初始化第一次搬砖个数
int sum11 = 0;//搬砖总数
int count = 0;//搬砖次数
for (sum11= 1; sum11<=500;)
{
count++;//每经过一次循环 记录搬砖的次数
sum11 += number;// 每次搬砖数叠加一起记录总个数 ,总个数满足<=500 循环就结束
number *= 2;//每次熟练度翻倍
}
Console.WriteLine("搬砖次数"+count);
//第一次循环 count=1 sum11=1 下次搬砖 number *= 2 number=2
//第二次循环 count=2 sum11 =3 下次搬砖 number *= 2 number =4
3698

被折叠的 条评论
为什么被折叠?



