复习
switch练习题
string a = Console.ReadLine();
switch (a)
{
case "星期一":
case "星期二":
case "星期三":
case "星期四":
case "星期五":
Console.WriteLine("上课");
break;
case "星期六":
case "星期天":
Console.WriteLine("放假");
break;
default:
Console.WriteLine("等于放假");
break;
}
循环语句
while(判断条件)
条件为真就进入循环体,直到为假跳出循环
死循环
while( 24 > 3 )
{
Console.WriteLine(1);
}
int i = 1;
while (i > -1)
{
Console.WriteLine(i);//1,0
i--;//i最终的值为-1
}
int j = 1;//遍历1-10
while (j <= 10)
{
Console.WriteLine(j);
j++;
}
//遍历1到100
int k = 0;
while(true)
{
Console.WriteLine(k);
if (k == 100)
break;//break跳出当前整个循环 continue跳出当前一次循环,还会进行下一次循环
k++;
}
练习题1
1,
//输入一个整数n,算出1+2+3+。。。+n的和
Console.WriteLine("请输入一个大于0的整数:");
int n = Convert.ToInt32(Console.ReadLine());
int sum = 0;
while(n>0)
{
sum += n;
n--;
}
Console.WriteLine("1到该数的和为:{0}", sum);
2,
//输出1-100之间的偶数
for(int i = 1; i<=100; i++)
{
if (i % 2 == 0)
{
Console.Write(i+" ");
}
}
3,
//3n+1 输入一个数n,奇数则变为3n+1,偶数则变为一半,直到变为1,输出变换次数
Console.WriteLine("请输入一个大于1的整数:");
int n = Convert.ToInt32(Console.ReadLine());
int m = 0;
while (n > 1)
{
if (n % 2 != 0)
{
n = 3 * n + 1;
}
else
{
n = n / 2;
}
m++;
}
Console.WriteLine("变换次数为{0}", m);
4,
//输入学生个数,输入每个学生的年龄,计算出平均年龄,输出平均年龄,保留到小数点后两位
Console.WriteLine("请输入学生个数:");
int stu_num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入每个学生的年龄:");
double avg_age = 0;
for(int i = 0; i < stu_num; i++)
{
avg_age += Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("平均年龄为:{0}", (avg_age / stu_num).ToString("F2"));//Math.Round(ave, 2); 小数点超过两位可保留两位小数后
for循环
for(; ; )//判断一直为真
{
Console.WriteLine(1);
}
练习题2
//输入两个整数,计算两数之间能被17整除的数之和
Console.WriteLine("请输入两个整数:");
int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = Convert.ToInt32(Console.ReadLine());
if (num2 > num1)//换值
{
int temp;
temp = num1;
num1 = num2;
num2 = temp;
}
int sum = 0;
for (int i= num2; i <= num1; i++)
{
if (i % 17 == 0)
{
sum += i;
}
}
Console.WriteLine("{0}与{1}之间能被17整除的数之和为:{2}", num2, num1, sum);
do..while循环
先执行一次再判断
与while循环的区别
求幂练习
//输入整数a,n,计算a的n次方
Console.WriteLine("请输入两个整数:");
int a = Convert.ToInt32(Console.ReadLine());
int n = Convert.ToInt32(Console.ReadLine());
int m = 1;
do
{
m *= a;
n--;
} while (n > 0);
Console.WriteLine(m);
球反弹练习
//球从某高度落下 弹回的高度为原来的一半。求弹10次的1高度和经过路程
Console.WriteLine("输入球的初始化高度:");
double hight = Convert.ToInt32(Console.ReadLine());
double sum = hight;
for(int i = 0; i < 10; i++)
{
hight /= 2;
sum += 3 * hight;
}
Console.Write("此时高度为{0},经过路程为{1}",hight,sum);
水仙花练习
//水仙花数,指一个三位数百位十位个位的三次幂的和为此数
for(int n = 100; n < 1000; n++)
{
int a = n / 100;//百位
int b = n / 10 % 10;//十位
int c = n % 10;//个位
if (n == Math.Pow(a,3) + Math.Pow(b, 3) + Math.Pow(c, 3))
{
Console.Write(n + " ");
}
}
打印三角形
//用*输出一个可定义层数的三角形
Console.WriteLine("输入三角形的层数:");
int i, j;
int n = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < n; i++)
{
for (j = n - i; j >1; j--)
{
Console.Write(" ");
}
for (int m = 1; m <= 2 * i + 1; m++)
{
Console.Write("*");
}
Console.WriteLine();
}
打印菱形
//输入层数,得出菱形
Console.WriteLine("输入三角形的层数:");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
for(int j = 1; j < n - i; j++)
{
Console.Write(" ");
}
for(int a = 1; a <= 2 * i + 1; a++)
{
Console.Write("*");
}
Console.WriteLine();
}
for (int k = 1; k < n; k++)
{
for (int j = 0; j < k; j++)
{
Console.Write(" ");
}
for (int a = 1; a <= 2*n-2*k-1; a++)
{
Console.Write("*");
}
Console.WriteLine();
}
九九乘法表
//输出99乘法表
for(int i = 1; i < 10; i++)
{
for(int j = 1; j <= i; j++)
{
Console.Write("{0}x{1}={2} ", i, j, i * j);
}
Console.WriteLine();
}
//倒三角,反着输出99乘法表
for (int i = 9; i >=1; i--)
{
for (int j = 1; j <= i; j++)
{
Console.Write("{0}x{1}={2} ", i, j, i * j);
}
Console.WriteLine();
}
百文买百鸡
//有100文,公鸡单价3文,母鸡单价5文,小鸡单价2文,问公鸡母鸡小鸡各多少只刚好凑够100文
Console.WriteLine("满足条件的情况为:");
for (int r_num = 1; r_num <= 100/3; r_num++)//r不超过33,100/
{
for (int h_num = 1; h_num <= 100/5; h_num++) //h不超过20
{
for (int c_num = 1; c_num <= 100/2; c_num++) //c不超过50
{
if (100 == r_num * 3 + h_num * 5 + c_num * 2&&r_num+h_num+c_num<=100)
{
Console.WriteLine("公鸡数量为:{0}只,母鸡数量为:{1}只,小鸡数量为:{2}只", r_num, h_num, c_num);
}
}
}
}