2017.8.7习题(进制)

1、风力预警系统有如下标准:普通风力小于5级,为蓝色;大于5小于8,为黄色;大于8小于10为橙色;

大于10位红色。如果风为龙卷风或台风等特殊情况,大于8级即为红色,实现上述判定标准,输入风力级别,输出预警颜色。

Console.WriteLine("请输入风力大小1—12:");

string WindLevel = Console.ReadLine();                     //readline 为方法,返回值为string类型,所以用string接收

Console.WriteLine("当前是否为台风或龙卷风,如果是请输入1,否则输入0:");

string isTyphoon = Console.ReadLine ();

//把string强转为int

int WindLevel_num = int.Parse (WindLevel);

int isTyphhoon_num = int.Parse (isTyphoon);

if (WindLevel_num>0 && WindLevel_num <= 5) {

                        Console.WriteLine ("蓝色");

} else if (WindLevel_num > 5 && WindLevel_num <= 8) {

                        Console.WriteLine ("黄色");

} else if (WindLevel_num > 8) {

                        if (isTyphhoon_num == 1) {

                                      Console.WriteLine ("红色");

} else {

                                      Console.WriteLine ("橙色");

}

} else if (WindLevel_num > 10) {

                        Console.WriteLine ("红色");

} else {

                         Console.WriteLine ("mdzz");

}


2、实现一个程序,控制台实现如下效果,现在控制台输出如下语句。

请输入编号选择您想购买的商品:

1、笔      2、作业本    3、橡皮擦    4、直尺

用户输入编号后打印出用户选择的商品

Console.WriteLine ("输入你想要的编号:\n1、笔      2、作业本    3、橡皮擦    4、直尺");

string Num = Console.ReadLine ( );

int Num_num = int.Parse (Num);

switch(Num_num){

case 1:

{

          Console.WriteLine ("笔");

          break;

}

case 2:

{

              Console.WriteLine ("作业本");

              break;

}

case 3:

{

                Console.WriteLine ("橡皮擦");

                break;

case 4:

{

                 Console.WriteLine ("直尺");

                 break;

}

default:

{

                   Console.WriteLine("你是瓜皮吗");

                    break;

           }

}


3、实现在控制台输入数据n, 计算n并打印出n的阶乘;

// n! = 1 *2 *3 *4 *…* (n-1) *n

Console.WriteLine ("请输入一个数,计算其阶乘");

int n = int.Parse(Console.ReadLine());

Int64 sum = 1;

if (n == 0) {

       sum = 0;

} else {

       for (Int64 i = 1; i <= n; ++i) {

                     sum *= i;

          }

}

Console.WriteLine ("{0}!={1}",n,sum);


4、从控制台输入一个年份,判断是否为闰年(闰年的条件:1、年份能被4整除  2、年份若是100的整数倍的话,需被400整除)

Console.WriteLine("输入一个年份");

string Year = Console.ReadLine ( );

int Year_num = int.Parse (Year);

if ((Year_num % 4 == 0 && Year_num % 100 != 0) || Year_num % 400 == 0) {

               Console.WriteLine ("{0}年是闰年");

} else {

                Console.WriteLine ("你是个假人");

}


5、连续输入一周七天的温度,同时求出该周平均温度。

int sum = 0;

for(int i = 0;i<7;++i){

                Console.WriteLine ("请输入星期{0}的温度",i+1);

                string temp = Console.ReadLine ( );

                 int temp_num = int.Parse (temp);

                 sum += temp_num;

}

Console.WriteLine ("七天的气温平均值为{0}",sum/7.0f);


6、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,

又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

int x = 1;              //第十天剩余的桃子数量

for (int i = 0; i < 9; ++i) {

          x = (x+1)*2;

}

Console.WriteLine ("第一天的桃子数量为{0}",x);



7、分析下列语句中a、b的结果

int a = 1, b = 3;

a += b %= 2;

//a = 2,b = 1


int a = 1,b = 4;

a = ++b/a++;

//a = 5,b= 5


8、如何用代码将以下数据转换成二进制和十六进制,1000和2049。

int x = 1000;

//十进制转二进制  结果倒着读

while (x>0) {

              int n = x % 2;

              Console.WriteLine ("{0}",n);

              x /= 2;

}


//数组改

int x = 1000;

int[] binary = new int[16];

int index = 0;

while (x>0) {

                int n = x % 2;

                binary [index] = n;

                ++index;

                 x/= 2;

}

for (int i = binary.Length-1; i >= 0; --i) {

                 Console.Write ("{0}",binary[i]);

}


int x = 2049;

//十进制转十六进制

while (x>0) {

                   int n = x % 16;

if (n >= 10) {

                   Console.WriteLine ("{0}",(char)(n+55));             //转字符ABC  ACLL码

} else {

                   Console.WriteLine ("{0}",n);

}

                    x /= 16;

}


数组改

int x = 2049;

int[] hexadecimal = new int[8];

int index = 0;                                                                 //下标

while (x>0) {

                      int n = x % 16;

                      hexadecimal[index] = n;                         //n替换index位置的数值

                      ++index;

                      x /= 16;

}

for (int i = hexadecimal.Length-1; i >=0; --i) {

                       int n = hexadecimal [i];

if (n >= 10) {

                       Console.Write ("{0}", (char)(n + 55));

} else {

                       Console.Write("{0}",n);

            }

}

你可能感兴趣的:(2017.8.7习题(进制))