跟siki老师学C#第四天(练习部分)
来源:互联网 发布:用单片机做自动浇花 编辑:程序博客网 时间:2024/04/19 18:34
学习了分支和循环以及跳出循环的方法,接下来十三道小练习奉上:
1.编写一个程序,对输入的四个整数,求出最大值、最小值,并打印出来显示在控制台上;
Console.WriteLine("请输入四个整数:");int num1 = Convert.ToInt32(Console.ReadLine());int num2 = Convert.ToInt32(Console.ReadLine());int num3 = Convert.ToInt32(Console.ReadLine());int num4 = Convert.ToInt32(Console.ReadLine());int max,min;/最大值if (num1 > num2){ max = num1;}else{ max = num2;}if (num3 > max){ max = num3;}if (num4 > max){ max = num4;}Console.WriteLine("最大值为"+max);if (num1 < num2){ min = num1;}else{ min = num2;}if (num3 < min){ min = num3;}if (num4 < min){ min = num4;}Console.WriteLine("最小值为"+min);
这里通过一个中间变量进行比较,就不用那么麻烦了。
2.让用户输入两个整数,再输入0-2中的一个数,0表示+、1表示-、2表示*;
Console.WriteLine("请输入两个整数:");int num1 = Convert.ToInt32(Console.ReadLine());int num2 = Convert.ToInt32(Console.ReadLine());Console.WriteLine("请输入运算符(0表示+、1表示-、2表示*):");switch(Console.ReadLine()){ case "0": Console.WriteLine("结果为:{0}+{1}={2}",num1,num2,num1+num2); break; case "1": Console.WriteLine("结果是:{0}-{1}={2}",num1,num2,num1-num2); break; case "2": Console.WriteLine("结果是:{0}*{1}={2}",num1,num2,num1*num2); break;}
3.求出1-1000之间所有能被7整除的数,并计算和输出每五个的和;
int sum = 0; //用来计算和int num = 0; //用来统计是不是每五个for (int i = 1; i <= 1000;i++ ){ if(i%7==0) { sum += i; num++; if(num==5) { num = 0; Console.WriteLine("当前五个的和是:"+sum); sum = 0; } }}
4.编写一个控制台应用程序,要求输出1-100之间的平方根、立方根
//平方根for(int i=1;i<=100;i++){ if(i*i<=100) { Console.WriteLine("1-100之间的平方根有:"+i); }}//立方根for (int i = 1; i <= 100;i++ ){ if(i*i*i<=100) { Console.WriteLine("1-100之间的立方根有:"+i); }}
5.兔子繁殖问题:设有一对新生兔子,从第三个月开始它们每个月都生一对新兔子,新生的兔子从第三个月开始又每个月生一对兔子,按此规律,假设兔子不死亡,20个月后一共有多少只兔子?
6.编程输出1-100之间能被3整除但不能被5整除的数字,并统计其个数;
int num = 0;for (int i = 1; i <= 100;i++ ){ if(i%3==0&&i%5!=0) { Console.WriteLine("能被3整除但不能被5整除的数字有:"+i); num++; }}Console.WriteLine("能被3整除但不能被5整除的数字共有{0}个!",num);
7.编程输出100以内的所有素数;
for (int i = 2; i <= 100; i++) //最小的素数是2,所以从2开始{ bool isPrime = true; //默认一个数是素数 for (int j = 2; j <= i-1; j++) //遍历除了1和它本身之外的数字 { if (i % j == 0) { isPrime = false; //一旦存在有其他数字可以被整除,当前数字就不是素数,同时跳出当前循环 break; } } if (isPrime == true) //如果当前的i遍历了除1和本身外的所有数字,都不能被整除,那它就是素数 { Console.WriteLine(i+"是素数之一!"); }}
8.编程输出九九乘法表;
for (int i = 1; i <= 9;i++ ){ for (int j = 1; j <= i; j++) { Console.Write("{0}*{1}={2} ",i,j,i*j); if(i==j) { Console.WriteLine(); } }}
9.输出1-5的平方值,分别用for、while和do while实现
//for循环:for (int i = 1; i <= 5;i++ ) { Console.WriteLine("{0}的平方值为{1}!",i,i*i);}//while循环:int j = 1;while (j <= 5){ Console.WriteLine("{0}的平方值为{1}!", j, j * j); j++;}//do-while循环int a = 1;do{ Console.WriteLine("{0}的平方值为{1}!", a, a * a); a++;} while (a <= 5);
10.要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入;
(题目的意思是用户输入一个五个字母的字符串,这个字符串要求五个字母都是大写,否则重新输入。)
Console.WriteLine("请输入一个字符串:");string str = Console.ReadLine();for (int i = 0; i <= str.Length - 1; i++){ int numOfLetter=str[i]; if(numOfLetter>=65&&numOfLetter<=91) { continue; } else { Console.WriteLine("您输入的字符串中第{0}个字符是除大写外的其他字符!",i+1); }}
这里注意三点:1.str.Length表示字符串str的长度,是int类型的整型数值;2.str[i]表示字符串str中第i-1个字符,因为编号是从0开始的;3.int numOfLetter=str[i]表示某个字符在Ascall码表中的数字,我们正是通过这个数字来判断该字符是不是大写字符的。
11.编写一个掷骰子100次的游戏并打印出各种点数出现的次数
Random ran = new Random();int point1 = 0, point2 = 0, point3 = 0, point4 = 0,point5=0,point6=0;for (int i = 1; i <= 100; i++){ switch (ran.Next(1, 7)) { case 1: point1++; break; case 2: point2++; break; case 3: point3++; break; case 4: point4++; break; case 5: point5++; break; case 6: point6++; break; }}Console.WriteLine("在100次投掷中,\n1点出现了{0}次;\n2点出现了{1}次;\n3点出现了{2}次;\n4点出现了{3}次;\n5点出现了{4}次;\n6点出现了{5}次!",point1,point2,point3,point4,point5,point6);
这里用到了Random类,用于产生随机数。
12.接收一个整数n,如果为正数,输出1-n之间的所有整数,如果为负数,终止程序,如果是0的话,要求重新输入;
while (true)//利用while的特性构成一个死循环{ Console.WriteLine("请输入一个整数n:"); int num = Convert.ToInt32(Console.ReadLine()); if(num==0)//如果等于0,再来一次 { continue; } else { if(num<0) { break;//如果小于0,直接跳出while循环 } else { for (int i = 1; i <= num; i++) { Console.WriteLine(i);//满足条件时,输出所有数字 } break;//最终跳出 } }}
13.求1000以内的所有“完数”。“完数”:等于所有因子(除自身以外)之和的数字。
for (int i = 1; i <= 1000; i++){ int sum = 1; //因为1是所有正数的因子,所以这里sum初始值为1 for (int j = 2; j <= i-1; j++) //那么这里就要从2开始了,因为1已经是因子而且已经存在在sum中了 { if (i % j == 0) { sum += j; } } if (sum == i) { Console.WriteLine("{0}是完数!", i); }}
这个输出是因为第一次写的时候设置sum=0,j=1开始执行的:
修改成程序段里面的形式之后:
可以看出,完数1也被归纳进来了。
以上就是十二道练习题,第五道的知识暂时还没学到,先放一放,等学习了递归再来看看吧,for循环我还没相通应该怎么做。
这些练习中的一些思想值得回顾。
题目都是基本的,很简单。
简单的不会并不可耻,不会却又不学,还要不懂装懂、自欺欺人,这才最可耻。
- 跟siki老师学C#第四天(练习部分)
- 跟siki老师学C#第四天(学习部分)
- 跟siki老师学C#第六天(练习部分)
- 跟siki老师学C#第二天
- 跟siki老师学C#第六天
- 跟siki老师学C#第一天
- 跟siki老师学C#第五天
- 跟siki老师学C#第七天
- 跟siki老师学C#第八天
- 跟siki老师学C#第九天(满满的都是练习)
- 跟siki老师学C#第三天(上)
- 跟siki老师学C#第三天(下)
- 跟天齐老师学Spark(8)--Spark RDD综合练习
- 面试siki老师失败
- 跟天齐老师学Spark(1)--Spark简介
- 跟我学C语言(第四天)
- 跟我一学linux基础(第四天)
- 开始跟贺老师学编程了
- mapreduce实例,计算最高气温
- 直线、轮廓的提取与描述
- Android中对图片的内存优化方法
- Maven搭建SpringMVC+Mybatis项目详解
- 有一个常量数组ballot,里面存放的是选票信息,通过一个字典统计出每个人的票数。
- 跟siki老师学C#第四天(练习部分)
- VB学习要点4----日期型数据作算术运算
- lambda函数表达式写法
- RS232,RS485波形分析
- Hadoop2.0的yarn 的基本的介绍
- POJ 2449 Remmarguts' Date
- Core Audio概要
- Android不错的图片压缩方法
- Android-MediaRecord介绍