一、循环语句
1.while循环
1.基本结构
- 如何控制循环次数
通过改变循环判断条件的结果,让其循环到一定值的时候会不满足则跳出循环,执行次数变有限了
- 练习题一
示例代码主要功能部分:
int sum = 0;
int a = 1 ;
int n = Convert.ToInt32(Console.ReadLine());
while (a<=n) {
sum += a;
a++;
continue;
}
Console.WriteLine("您输入的n={0},其1+2+3+...+{1}的总和为:{2}",n,n,sum);
5. 练习题二
示例代码主要功能部分:
int a = 1;
while (a <= 100) {
if (a % 2 == 0)
{
Console.WriteLine(a);
}
a++; }
6. 练习题三
示例代码主要功能部分:
Console.WriteLine("请在此输入一个任意大于1的自然数n:");
int i = 0;
int n = Convert.ToInt32(Console.ReadLine());
while (n > 1)
{
if (n % 2 != 0)
{
n = 3 * n + 1;
}
else
{
n = n / 2;
}
i++;
}
Console.WriteLine("变化的次数为:{0}", i);
` 7. 练习题四
提示:
示例代码主要功能部分:
int i = 0;
float sum = 0;
float age = 0;
Console.WriteLine("输入学生个数");
int n = Convert.ToInt32(Console.ReadLine());
while (i < n)
{
Console.WriteLine("请输入第{0}个学生的年龄:", i + 1);
age = Convert.ToInt32(Console.ReadLine());
sum += age;
i++;
}
float Aage = sum / n;
Console.WriteLine("您输入的学生个数为:{0},其中计算出的平均年龄为:{1}岁", n, Math.Round(Aage, 2));
示例代码主要功能部分:
2.for循环
- 基本结构
- 练习题一
示例代码主要功能部分:
Console.WriteLine("请输入整数n");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入整数m");
int m = Convert.ToInt32(Console.ReadLine());
int temp;
int sum = 0;
if (n > m)
{
temp = n;
n = m;
m = temp;
}
while (n <= m)
{
int average = (m + n) % 17;
if (average == 0)
{
sum += m+n;
}
n++;
}
Console.WriteLine(sum);
3. do...while循环
- 基本结构
4.关于循环的其他题目
1. 练习一
方法一、利用乘方的函数具体实现代码如下:
Console.WriteLine("请输入整数a");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入整数n");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("a的n次方的最终结果为", Math.Pow(a,n));//计算a的n次方
方法二、利用for循环进行循环的遍历
Console.WriteLine("请输入整数a");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入整数n");
int n = Convert.ToInt32(Console.ReadLine());
int i = 0,j=1;
for (;i<n;i++) {
j = j*a;
}
Console.WriteLine("a的n次方的最终结果为:"+j);
2. 练习二
Console.WriteLine("请输入球的初始化高度:");
double high = Convert.ToDouble(Console.ReadLine());
double sum = 0;
int i = 1;
for (; i < 10; i++)
{
high = high / 2;
sum += 3 * high;//h+2h→3h 总高度设置为了2h;
}
Console.WriteLine("第{0}次的高度为{1}:", i, high);
Console.WriteLine("第{0}次总共经过了{1}", i, sum);
3. 练习三
int flowers = 100;
int a, b, c,sum = 0;
for (flowers = 100; flowers <= 999; ++flowers)
{
a = flowers / 100;
b = flowers % 100 / 10;
c = flowers % 100 % 10;
sum = a*a*a + b * b * b + c * c * c;
if (sum == flowers) {
Console.WriteLine(flowers);
}
}
5.变量作用域
- 同一个作用域中的变量不能重名
- 父作用域与子作用域,可以访问父作用域里面的变量,但是父作用域不能访问子作用域中定义的变量
6.循环中的break和continue
- break:跳出当前整个循环
- continue:跳出当前这一次循环,继续执行下一次循环的内容
7.循环嵌套
1.练习一
Console.WriteLine("请输入需要需要打印三角形的层数:");
/* int a = Convert.ToInt32(Console.ReadLine());
int i = 1;
int j = 1;
for (; i <= a; i++)
{
Console.WriteLine("\n");
for (j = 1; j <= i; j++)
{
Console.Write(" *");
}
} //注意此处打印的为直角三角形;
for (; i <= a; i++)
{
Console.WriteLine("\n");
for (j = a; i<=j; j--)
{
Console.Write(" *");
}//此处打印的为倒三角形
2.练习二
int n = Convert.ToInt32(Console.ReadLine());
int i = 1;
int j = 1;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n - i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
Console.Write("*");
}
Console.WriteLine();
}
3.练习三
4.练习四 输出九九乘法表
①正序乘法表
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
Console.Write(" {0}*{1}={2}",i,j,i*j);
}
Console.WriteLine(" ");
}
②倒序乘法表
int i, j;
for (i = 9; i>=1; i--)
{
for (j = 1; j <= i; j++)
{
Console.Write(" {0}*{1}={2}", j, i, j * i);
}
Console.WriteLine(" ");
}
5.练习五 百文买鸡问题:
代码示例:
int g = 1, m = 1, x = 1;
for (g = 1; g <= 33; g++)
{
for (m = 1; m <= 20; m++)
{
for (x = 1; x <= 50; x++)
{
if (3 * g + 5 * m + x*2 == 100 && g+m+x <= 100)
{
Console.WriteLine("当公鸡为:{0}只,当母鸡为:{1}只,当小鸡为:{2}只 时满足购买条件", g, m, x);
}
}
}
}