Fundamental

1.1.1

2018-5-14
Fundamental

1.1.1 # 解答 # a.7 b.200.0000002 c.True 代码 # var a = (0 + 15) / 2; var b = 2.0e-6 * 100000000.1; var c = true && false || true && true; // Console.WriteLine 向控制台窗口输出一行 Console.WriteLine($"a.{a}"); Console.WriteLine($"b.{b}"); Console.WriteLine($"c.{c}");

1.1.2

2018-5-14
Fundamental

1.1.2 # 解答 # Name Type Value a System.Double 1.618 b System.Double 10 c System.Boolean True d System.String 33 代码 # // var 变量名 = 初始值 根据初始值自动判断变量类型 var a = (1 + 2.236) / 2; var b = 1 + 2 + 3 + 4.0; var c = 4.1 >= 4; var d = 1 + 2 + "3"; // Console.WriteLine 向控制台输出一行 // 变量名.GetType() 返回变量类型 Console.WriteLine("\tName\tType \tValue"); Console.WriteLine($"\ta\t{a.GetType()}\t{a}"); Console.WriteLine($"\tb\t{b.GetType()}\t{b}"); Console. ...

1.1.3

2018-5-14
Fundamental

1.1.3 # 解答 # 简单的 if 判断即可。 代码 # /* * 输入 * * 用空格隔开的三个整数,例如 * 3 3 3 * * 输出 * * equal 或 not equal */ var input = Console.ReadLine(); var a = int.Parse(input.Split(' ')[0]); var b = int.Parse(input.Split(' ')[1]); var c = int.Parse(input.Split(' ')[2]); if (a == b && b == c) { Console.WriteLine("equal"); } else { Console.WriteLine("not equal"); }

1.1.4

2018-5-14
Fundamental

1.1.4 # 解答 # a. if 后跟 then 的语法不能在 C# 中使用。 b. if 后的判断语句需要在括号内。 c. 正确,只有一条语句时大括号可以省略。 d. c = 0 后缺少分号。 代码 # var a = 1; var b = 2; var c = 0; // if (a > b) then c = 0; // if 后不能跟 then // if a > b { c = 0; } // if后必须跟括号 if (a > b) c = 0; // 正确 // if (a > b) c = 0 else b = 0; // c = 0后缺少分号

1.1.5

2018-5-14
Fundamental

1.1.5 # 解答 # 比较简单,直接判断即可。 代码 # // 修改这两个值进行测试 var x = 0.05; var y = 0.01; if (x > 0 && x < 1 && y > 0 && y < 1) { Console.WriteLine("true"); } else { Console.WriteLine("false"); }

1.1.6

2018-5-14
Fundamental

1.1.6 # 解答 # 输出斐波那契数列。 将书中的代码直接实现即可。 代码 # //输出斐波那契数列 var f = 0; var g = 1; for (var i = 0; i <= 15; i++) { Console.WriteLine(f); f = f + g; g = f - g; }

1.1.7

2018-5-14
Fundamental

1.1.7 # 解答 # 同上题,直接实现即可。 a 3.00009 double计算存在误差,并不精确。 b 499500 1000 + 999 + 998…… c 10000 1000 * 10,外层循环的结束条件为 $2^i >1000$ 代码 # static void A() { Console.WriteLine("a"); var t = 9.0; while (Math.Abs(t - 9.0 / t) > .001) { t = (9.0 / t + t) / 2.0; } Console.WriteLine($"{t:N5}"); // :N5代表保留5位小数,同理可使用N1、N2…… } static void B() { Console.WriteLine("\nb"); var sum = 0; for (var i = 1; i < 1000; i++) { for (var j = 0; j < i; j++) { sum++; } } Console. ...

1.1.8

2018-5-14
Fundamental

1.1.8 # 解答 # b 197 e 代码 # Console.WriteLine('b'); Console.WriteLine('b' + 'c'); // char 被隐式转为为 int 类型,取 ascii 码 Console.WriteLine((char)('a' + 4)); // 强制转换后,ascii 码被转换为相应的字符

1.1.9

2018-5-14
Fundamental

1.1.9 # 解答 # 有两种方法,要么直接调用库函数,要么用书中给出的代码转换。 代码 # var n = 4; // 1.直接转换 Convert.ToString(int, int) 第一个为要转换的数,第二个为要转换的进制 Console.WriteLine($"{Convert.ToString(n, 2)}"); // 2.转换为二进制数 var s = ""; for (var i = n; i > 0; i /= 2) { s = (i % 2) + s; } Console.WriteLine(s);

1.1.10

2018-5-14
Fundamental

1.1.10 # 解答 # 变量使用前需要先赋值。 代码 # int[] a; for (var i = 0; i < 10; i++) { // a[i] = i * i; // 不允许使用未赋值的局部变量 } a = new int[10]; for (var i = 0; i < 10; i++) { a[i] = i * i; // 初始化后可用 }