条件语句;for循环 嵌套复习

//打印数字,0,1,8,10,12,每一个数单独占一行
//在全部数字打印完毕之后在打印数字的个数和所有数的和
int count = 0;
int sum = 0;
for (int i = 0; i <= 12; i++)
{
      switch (i)
      {
               case 0:
               Console.WriteLine(i);
               count++;
               sum += i;
               break;
               case 1:
               Console.WriteLine(i);
               count++;
               sum += i;
               break;
               case 8:
               Console.WriteLine(i);
               count++;
               sum += i;
               break;
               case 10:
               Console.WriteLine(i);
               count++;
               sum += i;
               break;
               case 12:
               Console.WriteLine(i);
               count++;
               sum += i;
               break;
      }
}
Console.WriteLine("一共输入了" + count + "个数");
Console.WriteLine(sum);
Console.ReadLine();

 

 

练习题2

//输入三个数,x,y,z,按照从小到大顺序排列
Console.Write("请输入一个数:");
Double x = double.Parse(Console.ReadLine());
Console.Write("请输入一个数:");
Double y = double.Parse(Console.ReadLine());
Console.Write("请输入一个数:");
Double z = double.Parse(Console.ReadLine());
if (x <= y && x <= z)
{
         if (y >= z)
         {
                   Console.WriteLine(x + "\t" + z + "\t" + y + "\t");
         }
        else if (y <= z)
         {
                   Console.WriteLine(x + "\t" + y + "\t" + z + "\t");
         }
}
else if (y <= x && y <= z)
{
         if (x >= z)
         {
                  Console.WriteLine(y + "\t" + z + "\t" + x + "\t");
         }
         else if (x <= z)
         {
                 Console.WriteLine(y + "\t" + x + "\t" + z + "\t");
         }

}

else if (z <= x && z <= y)
{
        if (x >= y)
        {
                  Console.WriteLine(z + "\t" + y + "\t" + x + "\t");
        }
         else if (x <= y)
        {
                  Console.WriteLine(z + "\t" + x + "\t" + y + "\t");
        }
}
Console.ReadLine();

 

 

 

//有一张超大的纸
//纸张的厚度是0.07毫米
//对着多少次,可以达到珠峰的高度
//按照8848来计算
int sum = 0;
for (double i = 7; i <= 884800000; i = i * 2)
{
          sum++;
}
Console.WriteLine(sum);
Console.ReadLine();

 

 

 

练习题1

//用户输入姓名,然后打印此人的年龄,从1岁-18岁,每一岁占一行,打印内容为“我今年xxx岁了!”;
//当6岁时增加打印“我上小学了!”;
//当11岁时增加打印“我上初中了!”;
//当15岁时增加打印“我上高中了!”;
//当18岁时增加打印“我成年了!考上了北大!”;
Console.Write("请输入您的姓名:");//用户输入姓名
string m = Console.ReadLine();
//循环打印年龄
for (int i = 1; i <= 18; i++)
{
        Console.WriteLine("我叫"+m+"我今年" + i + "岁了!");
        switch (i)
        {
               case 6:
               Console.WriteLine("我上小学了!");
               break;
               case 11:
               Console.WriteLine("我上初中了!");
               break;
               case 15:
               Console.WriteLine("我上高中了!");
               break;
               case 18:
               Console.WriteLine("我成年了!考上了北大!");
               break;
       }
}
Console.ReadLine();

 

 

 

练习题3//打印100以内的全部质数,共有多少个,并求和

int sum = 0;//用来标记接收总和
int biao = 0;//标记变量,看看有多少质数
for (int i = 2; i <= 100; i++)//标记变量,看看有多少个质数
{ //最小质数是2,100以内
       int count=0;//用来接受每一个数的整除的数有几个
       for (int j = 1; j <= i; j++)
       {//利用了除数要小于等于被除数的规则
             if (i % j == 0)
             {//判断是否能够整除,能够整除的话+1
                  count++;
             }
       }
             if (count == 2)
             {//内循环走完之后需要在外循环结束之前判断是否只有两个数能够整除这个i
                   Console.Write(i + "\t");
                   sum += i;//加上这个i
                   biao++;//标记变量+1
             }
}
Console.WriteLine(biao);
Console.WriteLine(sum);
Console.ReadLine();

 

 

 

练习题4:

//让用户循环操作,用户输入一个正整数(0-20),如果小于0或大于20都提示输入错误,如果输入
//的是0-20之间的数,那么就打印从0到这个数的累加求和,
//一共需要用户输入3遍,输入错误不计入这3遍操作当中
int count = 0;
//让用户循环输入
for (int i = 1; i >=1; i++)//因为用户输入错误不计入循环的遍数,所以要写一个无限循环
{
        if (count>=3)
        {
              break;
        }
        Console.Write("请输入一个数字:");
        int a = int.Parse(Console.ReadLine());
        if (a >= 0 && a <= 20)//判断用户输入的数
        {
               //如果输入正确,累加求和并输出
               int sum = 0;
               for (int j = 0; j <= a; j++)
               {
                       sum += j;
                }
               Console.WriteLine(sum);
              //判断当前用户输了几遍
               count++;
               Console.WriteLine("您当前输入第" + count + "遍");
        }

       else
       {
              Console.WriteLine("输入错误!");
       }
}
Console.ReadLine();

 

 

 

练习题5:

//打印方形,每行打印10个“A”,打印10行,使用循环嵌套,不允许定义内容为“AAAAAAAAAA”的变量;
for (int i = 1; i <= 10; i++) //首先,先打印十行,每行当中再打印10个A
{
        string a = "";//添加一个中间变量空格,用来接收打印的A的个数
        for (int j = 1; j <= 10; j++) //外循环走一次,内循环走完一整遍,打印完10个A
        {
                a += "A";
        }
        Console.WriteLine(a);
}
Console.ReadLine();

 

 

 

练习题6:

一、//打印三角形(左下直角三角形),用“★”打印
for (int i = 1; i <= 5; i++)//先打印行数,我这里打了五行
{
       for (int j = 0; j < i; j++) //因为三角形每一行比上一行多一颗星星,所以j<i,依次增加
       {
               Console.Write("★");
       }
       Console.WriteLine();//打完一行换行
}
Console.ReadLine();

 

 

 

二、//打印三角形(左上直角三角形)用“★”打印
for (int i = 1; i <= 5; i++) //打印行数,这里打了五行
{
       for (int j = 5; j >= i; j--) //左上直角三角形(倒三角)的每一行比上一行少一颗,第一行
       { //先打印五颗,之后随着变量i的增加,一次减少一颗
              Console.Write("★");
       }
       Console.WriteLine();//打印完一行换行
}
Console.ReadLine();

 

 

三、//打印右下直角三角形,用“★”打印
//此三角形和左下直角一样,是利用空格把每一行的“★”,顶了过去
//首先还是打印五行五列的,因为三角形第一行有1颗星,则需要4个空白,第二行2颗星3个空白,第
//三行3颗星2个空白,第4行4颗星1个空白,第5行5颗星星,没有空白
for (int i = 1; i <= 5; i++) //先打印行数
{ //再打印空白,一共需要四行,每行从4,依次剪到1
         for (int j = 4; j >= i; j--)
         {
                Console.Write(" ");//打印空格。两个空格代表一个空位
         }
         for (int k = 0; k < i; k++) //打印五角星,第一次根据条件只能循环一次,一颗星星,根据外
         { //循环i值的增加,之后依次都会增加一颗星星,直到外循环结束
               Console.Write("★");
         }
        Console.WriteLine();//打印一行之后执行换行
}
Console.ReadLine();

 

 

 

四、//打印右上直角三角形,用“★”打印
//同理,只是把之前的空白和五角星进行了调换,还是打印五行
//第一行没有空白,5颗星,二、1个空白4颗星;三、2空白 3星;四、3空 2星;五、4空,1星
//因为空白在左边,先打印空白,因为第一行没有空白,所以空白循环的第一次不能成立,从第二次开始
for (int i = 1; i <= 5; i++) //先打印外循环,确定行数
{
       for (int j = 1; j < i; j++) //空白部分因为第一行没有,所以第一次循环不成立
      {
              Console.Write(" ");
      }
      for (int k = 5; k >= i; k--) //五角星从第一行到最后一行一次减少一个
     {
             Console.Write("★");
     }
     Console.WriteLine();//打印完一行执行换行
}
Console.ReadLine();

 

 

五、//打印一个等腰三角形,大头朝下,用“★”打印

//根据上面的基础上再添一个循环,还是打印5行
//第一行左起4个空白一个星星;二、3空2星+1星;三、2空3星+2星;四、三空4星+3星;五、5星+4星
for (int i = 1; i <= 5; i++)//先打印一个外循环,确定行数,这里是5行
{
          for (int j = 4; j >= i; j--) //打印左边空白,因为从第一行开始依次是4,3,2,1,最后一行没有,
         { //所以j的之先设为4,一次循环减少,循环第五次不成立
                 Console.Write(" ");
         }
         for (int k = 1; k <= i; k++) //根据i每次循环的增加,k每一行加1
         {
                 Console.Write("★");
         }
         for (int l = 2; l <= i; l++) //因为这个循环第一行没有,从第二行开始,所以l的初始值为2,
         { //从第二次外循环进来,开始执行此循环
                Console.Write("☆");//为了方便区分,这个循环用空白的五角星
         }
                Console.WriteLine(); //打印完一行执行换行
}
Console.ReadLine();

 

posted @ 2016-05-04 00:05  小飛  阅读(3609)  评论(0编辑  收藏  举报