C#基础入门典型例题(3)
来源:互联网 发布:地外文明知乎 编辑:程序博客网 时间:2024/05/02 04:30
这次的试题可能对初学者有些难度,希望能对你有所帮助。如有疑问可以留言。
1.输入一组成绩(5个),如果是90分往上,评分为A,80-89为B,70-79为C,60-69为D,60分以下为E
2.输入一个多位数,颠倒后输出
3.找出四位整数中,满足下列关系的数字
(ab+cd)(ad+bc)=abcd
例如:(4*1+0*0)*(4*0+1*0)=4*1*0*0
4.求完数,例如6=1+2+3
5.求100以内的素数
6.斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?(hard)
1.输入一组成绩(5个),如果是90分往上,评分为A,80-89为B,70-79为C,60-69为D,60分以下为E
for (int i = 0; i < 5; i++) { int sc = Convert.ToInt32(Console.ReadLine()); //将如数的数字赋值给sc if (sc > 89) Console.WriteLine("该生成绩为A"); else if (sc > 79) //else if主要用于范围判断 这里判断的是大于79小于90的成绩 Console.WriteLine("该生成绩为B"); else if (sc > 69) Console.WriteLine("该生成绩为C"); else if (sc > 59) Console.WriteLine("该生成绩为D"); else Console.WriteLine("该生成绩为E"); }
2.输入一个多位数,颠倒后输出
Console.WriteLine("请输入一个数字"); int num; if (int.TryParse(Console.ReadLine(), out num) == true) //判断输入的字符串是否为数字 { string result = ""; while (num != 0) { int temp = num % 10; result += temp; num /= 10; } Console.WriteLine(result); } else { Console.WriteLine("请输入一个整数"); UpDownNumber(); //若输入的不是数字,则重新输入 }
3.找出四位整数中,满足下列关系的数字
(ab+cd)(ad+bc)=abcd
例如:(4*1+0*0)*(4*0+1*0)=4*1*0*0
这道题比较简单,这里就不再过多解释了。
for (int n = 1000; n < 10000; n++) { int sigma = n; int m = 1000; int[] result = new int[4]; for (int i = 0; i < 4; i++) { int temp = sigma / m; sigma = sigma - temp * m; m /= 10; result[i] = temp; } int a = result[0]; int b = result[1]; int c = result[2]; int d = result[3]; int num = a * b; int num1 = c * d; int num2 = a * d; int num3 = b * c; int num4 = a * b * c * d; if ((num+num1)*(num2+num3) == num4) { Console.WriteLine(n); Console.Write("({0}*{1}+{2}*{3})",a,b,c,d); Console.Write("({0}*{3}+{1}*{2})", a, b, c, d); Console.WriteLine("={0}*{1}*{2}*{3}", a, b, c, d); } }
4.求完数,例如6=1+2+3(1000以内)
我们首先应该先找出要判断数字的因子,再使该数的所有因子相加,判断他们的和是否与原数字相等。
在这里我们可以将 判断数字的因子,获取该数所有因子相加的字符串,判断他们的和是否与源数字相等,写成三个方法,方法之间互相调用。
public void PerfectNumber() { int temp = 0; for (int i = 0; i < 1000; i++) { for (int j = 0; j < i; j++) { temp = GetNumber(i); //获取该数的因子的和 if (temp == i) //如果该数的因子的和等于该数,那么输出该数 { Console.Write(temp + "="); Console.WriteLine(GetResult(i)); //获取该数的所有因子和的字符串并输出 break; } } } } static int GetNumber(int n) { int temp = 0; for (int i = 1; i < n; i++) { if (n % i == 0) { temp += i; } } return temp; } static string GetResult(int n) { string result = " "; for (int i = 1; i < n; i++) { if (n % i == 0 ) { if (i >= n / 2) result += i; else result += i + "+"; } } return result; }
输出结果为: 6,28,496
5.求100以内的素数
素数的定义为除了1和它本身以外不再有其他的因数。
首先我们要判断是否为素数,然后输出出来,我们可以用两个方法来实现。
public void PrimeNumber() { for (int n = 1; n < 100; n++) { if (getPN(n)) Console.WriteLine(n); } } bool getPN(int n) { bool b = false; if (n > 1 && n < 4) b = true; for (int i = 4; i < n; i++) { if (n % i == 0) { b = false; break; } else b = true; } return b; }
运行结果 2,3,5,6,7,9,11,13…….
在这个算法里面,我们可以精简运算过程,使计算机只计算上述算法过程的根号倍即可,基本原理如下:
如果一个数不是素数, 那它除了1和他本身一定还有别的约数,假如这个数是num
num=m*n 一定可以分解为两个整数相乘
设一个命题 ,num可以分解为两个数相乘且这两个数都大于num在平方根
m>sqrt(num) n>sqrt(num) 根据数学知识可以知道m*n>num 这与命题相反,所以命题是假的
所以合数一定至少有一个不大于sqrt(num)约数,只要找到这个数就可以了。
6.斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?(hard)
在这个经典算法里面最重要的就是明确变量之间的关系,下个月的成年兔子数量等于这个月的幼兔数量加上成兔数量,下个月的幼兔数量等于这个月成兔的数量。明确了以上的关系,我们可以很简单的写出下列代码。
public void FibonacciSequence() { int Rabbit=1; int rabbit = 0; int sum=0; for (int month = 1; month <= 1000007; month++) { sum = Rabbit + rabbit; Console.WriteLine("第{0}个月,幼崽有{1}对,成年兔子有{2}对,总对数为{3}",month,rabbit,Rabbit,sum); rabbit = Rabbit; Rabbit = sum; } }
运行结果:
- C#基础入门典型例题(3)
- C#基础入门典型例题(1)
- C#基础入门典型例题(2)
- 典型例题
- 线段树-基础,典型例题的完整代码
- 数论的典型例题
- 【典型例题】报错
- 【典型例题】增删查改序
- 【典型例题】TreeSet排序
- 【典型例题】创建文件夹;
- 【典型例题】复制文件
- 指针典型例题
- 动态规划典型例题
- 线段树典型例题--poj2482
- 线段树典型例题--poj2528
- 线段树典型例题--poj2828
- 线段树典型例题--poj3277
- 线段树典型例题--poj2777
- 【OneNote】插入语法高亮的代码
- 1.5.1~1.5.3
- 2016--超越
- 非常适合用于查看linux内核代码的网站
- CreateFile,ReadFile等API详解(或者说MSDN的翻译)
- C#基础入门典型例题(3)
- 【NYOJ】[100]1的个数
- 使用boost::asio开发网络服务器
- 【学习笔记】 UFLDL-1
- Linux下NTP服务器及客户端配置
- Uva10881 Piotr's Ants
- 使用unity做的绩点计算器
- ngnix下conf通用设置方法(php fastcgi)
- CodeForces 620E New Year Tree(线段树)