C#编程基础练习题
chen_XiaoFang
这个作者很懒,什么都没留下…
展开
-
将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。
将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。Console.WriteLine("输入一个数:");int num = Convert.ToInt32(Console.ReadLine());string str = num + " = ";int i = 2;while (i <= num){ if (num % i == 0) { str += i + "x"; num /= i; } el原创 2021-12-30 10:35:53 · 400 阅读 · 0 评论 -
古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?其实这就是一个Fibonacci数列static int f(int count){ if (count <= 2) return 1; return f(count - 1) + f(count - 2);}for (int i = 1; i <= 12; i++){ Console.Writ原创 2021-12-30 10:35:44 · 216 阅读 · 0 评论 -
已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。
已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。for (int i = 100; i < 999; i++){ string x = i.ToString().Substring(0, 1); string y = i.ToString().Substring(1, 1); string z = i.ToString().Substring(2, 1); int a = Convert.ToInt32(y + z + z原创 2021-12-30 10:35:28 · 1808 阅读 · 0 评论 -
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153)。编程求出所有三位的水仙花数。
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153)。编程求出所有三位的水仙花数。Console.WriteLine("请输入数的范围:100~?");int n = Convert.ToInt32(Console.ReadLine());Console.WriteLine("请输入数的范围:100~"+n+"之间的水仙花数有:");for (int i = 100; i < n; i++原创 2021-12-30 10:35:18 · 1708 阅读 · 0 评论 -
猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第 10 天在想吃的时就剩一个桃子了。
猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了, 求第一天共摘下来多少个桃子?Console.WriteLine(f(10));static int f(int count) { if (count <= 0) { return 1; } else { return (f原创 2021-12-30 10:35:02 · 396 阅读 · 0 评论 -
一个整数的各位数字之和能被 9 整除,则该数也能被 9 整除。编程验证给定的整数能否被 9 整除。
Console.WriteLine("输入一个数");string str = Console.ReadLine();int sum = 0;for (int i = 0; i < str.Length; i++){ sum += Convert.ToInt32(str.Substring(i, 1));}Console.WriteLine(sum);if (sum % 9 == 0){ Console.WriteLine("数字之和能被 9 整除"); if.原创 2021-12-30 10:36:03 · 1196 阅读 · 0 评论 -
1-10000的完全数
Console.WriteLine("1-10000的完全数有");for (int i = 1; i < 10000; i++){ int[] sumberArray = new int[i]; int a = 0; for (int z = 1; z < i; z++) { if (i % z == 0) { sumberArray[a] = z; a++; .原创 2021-12-29 15:05:31 · 531 阅读 · 0 评论 -
13、验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进行下去,最终必然得到 1。
Console.WriteLine("输入一个数");int i = Convert.ToInt32(Console.ReadLine());int count = 0;while (true){ count++; if (i % 2 == 0) { i /= 2; } else if (i == 1) { Console.WriteLine("在执行了" + count + "次后为1了"); bre.原创 2021-12-29 15:00:25 · 1127 阅读 · 0 评论 -
使用循环语句输出下面的图形。
使用循环语句输出下面的图形。 # # # # # # # # # # # # # # # ## # # # # # # # #int s = 7;for (int i = 0; i < 5; i++){ for (int z = 0; z < 9 + (i * 2); z++) { if (z % 2 == 0 && z > s) { ...原创 2021-12-29 14:57:43 · 2798 阅读 · 0 评论 -
编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?
for (int i = 0; i < 20; i++) //公鸡最多只能有19只{ for (int j = 0; j < 33; j++) //母鸡最多有32只 { if ((100 - i - j) % 3 == 0 && i * 5 + j * 3 + (100 - i - j) / 3 == 100) //满足花百钱,鸡百只输出 { Console.WriteLine("公鸡:{0}.原创 2021-12-29 14:55:05 · 5364 阅读 · 0 评论 -
编写程序,输出 200~500 之间的所有素数。
两个for循环嵌套,逐个生成,挨个判断for (int i = 200; i <= 500; i++){ bool ret = true; for (int z = 2; z < i; z++) { if (i % z == 0) { ret = false; break; } } if (ret) Console.WriteLine(i);}原创 2021-12-29 14:51:58 · 1768 阅读 · 0 评论 -
用 while 循环,计算 1~200 之间所有 3 的倍数之和。
3的倍数也就是每次递增3就OKint i = 3, sum = 0;while (i <= 200){ sum += i; i += 3;}Console.WriteLine(sum);原创 2021-12-29 14:48:16 · 3023 阅读 · 0 评论 -
编写程序,对输入的一个整数,按相反顺序输出该数。例如,输入为 3578,输出为 8753。
把字符串转成字符列表然后调用排序方法代码块放到main方法里运行Console.WriteLine("输入一个整数");string str = Console.ReadLine();Console.WriteLine(new string(str.ToCharArray().Reverse<char>().ToArray<char>()));...原创 2021-12-29 14:45:51 · 2047 阅读 · 0 评论 -
编写程序,给定一个学生成绩,给出相应等级 90~100 优秀 80~89 良好 70~79 中等 60~69 及格 0~59 不及格
没啥好说的if多分支判断一下就行Console.WriteLine("输入学生成绩:");int s = Convert.ToInt32(Console.ReadLine());if (s <= 100 && s >= 90){ Console.WriteLine("优秀");}else if (s < 90 && s >= 80){ Console.WriteLine("良好");}else if (s <原创 2021-12-29 14:40:33 · 13590 阅读 · 0 评论 -
编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数?
输入的数字其实也是一个字符串,直接输出它的长度就行了代码块放在main方法中运行Console.WriteLine("输入一个数:");string str = Console.ReadLine();Console.WriteLine(str+"是一个"+str.Length+"位数");为了防止输入的不是数字还可以改成:Console.WriteLine("输入一个数:");string str = Console.ReadLine();try{ int i = Co原创 2021-12-29 14:28:29 · 676 阅读 · 0 评论 -
编写程序,对输入的年、月、日,给出该天是该年的第多少天?
定义一个月份的天数数组根据输入的日期来计算天数(还需判断闰年或平年)代码块放在main方法中运行int years, moth, day, sum = 0;int[] monthDays = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };Console.WriteLine("输入年:");years = int.Parse(Console.ReadLine());Console.WriteLine("输入月:");moth =原创 2021-12-29 14:19:00 · 1670 阅读 · 0 评论 -
输入 3 个正数,判断能否构成一个三角形。
数学中判断能不能组成三角型就是看两条边的和是否大于第三条边a+b>c,a+c>b,b+c>a// 4、输入 3 个正数,判断能否构成一个三角形。Console.WriteLine("判断能否构成三角形");while (true){ Console.WriteLine("NO退出"); int a = 0, b = 0, c = 0; try { Console.WriteLine("输入第一条边:"); a原创 2021-12-28 22:21:41 · 1554 阅读 · 0 评论 -
编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换。
这里用到了对比ASCii码的方法来判断是否是大写或小写如果输入的字符ASCii码大于或等于'a'的就说明是小写,否则就是大写// 3、编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换。Console.WriteLine("判断大小写");while (true){ Console.WriteLine("NO退出"); string a = "."; a = Console.ReadLine(); if (a ==原创 2021-12-28 22:09:21 · 4662 阅读 · 0 评论 -
编写程序求一元二次方程的根。
这里用到了数学里解一元二次方程的求根公式// 一元二次方程for (int i = 0; i < 10; i++){ Console.Title = "一元二次方程程序"; double a, b, c, d, x1, x2; Console.WriteLine("求解一元二次方程ax*x+bx+c=0"); Console.WriteLine("请输入a:"); a = Convert.ToDouble(Console.ReadLine()原创 2021-12-28 22:01:48 · 2357 阅读 · 0 评论 -
编写程序实现对给定的 4 个整数从大到小的顺序排列。
先调用Array.Sort()正序排序。然后再调用Array.Reverse()反转后就是从大到小了。// 1、编写程序实现对给定的 4 个整数从大到小的顺序排列。int[] sumArray = new int[4];for (int i = 0; i < sumArray.Length; i++){ Console.WriteLine("输入第一个数:"); sumArray[i] = Convert.ToInt32(Console.ReadLine());}//排原创 2021-12-28 21:53:13 · 1568 阅读 · 0 评论