1.while循环
主要是通过判断条件决定是否跳出循环体,当循环内容已经达到我们想要的结果,我们可以改变改变判断条件来决定循环的走向
例子: 1.输入一个整数n,计算1+2+3+....n的值
int a = Convert.ToInt32(Console.ReadLine());
int i = 0;
int sum = 0;
while (i <= a) //i大于输入值跳出
{
sum = sum + i; //累加
i++;
}
Console.WriteLine(sum);
2.输出1-100之间的偶数
while (i <= 100) //遍历1-100,当大于100跳出循环
{
if (i % 2 == 0) //判断取模2是不是等于0
{
Console.WriteLine(i);
}
i++;
}
3.3n+1问题,输入任意大于1的自然数,偶数/2,奇数3n+1
int num = Convert.ToInt32(Console.ReadLine()); //输入一个整数
int i = 0;
while (num != 1)
{
if (num % 2 == 0)
{
num = num / 2;
}
else
{
num = num * 3 + 1;
}
i++;
}
Console.WriteLine("变换的次数为,{0}", i);
4.输入学生个数,输入学生年龄。结果输出平均年龄,保留到小数点后两位
Console.WriteLine("请输入学生的个数");
int num = Convert.ToInt32(Console.ReadLine());
int i = 0;
double aver_age = 0;
while (i < num)
{
Console.WriteLine("请输入学生的年龄");
int age = Convert.ToInt32(Console.ReadLine());
//平均年龄
aver_age = age + aver_age;//累加年龄
i++; //自增判断年龄
}
2.do while循环
先进入循环体,就是多执行一次while循环的执行
例1:输入一个整数a,和一个正整数n,计算乘方a的n次方
Console.WriteLine("请输入一个整数");
int a = Convert.ToInt32(Console.ReadLine()); // n=3,sum=a*a*a
Console.WriteLine("请再输入一个正整数"); //
int n = Convert.ToInt32(Console.ReadLine());
int sum = 1; //容纳乘方的和
int num = 1; //自增
do
{
sum = sum * a;
num++;
} while (num <= n);
Console.WriteLine(sum);
3.for循环
for循环三个表达式是用;隔开的,比较常用于循环嵌套
例子:输入整数n,输出n层三角形
Console.WriteLine("请输入一个整数n:");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write('*');
}
Console.WriteLine('\n');
}
最小公倍数如下
//假设最大值是最小公倍数
Console.WriteLine("请输入第一个数");
int m = Convert.ToInt32(Console.ReadLine());//输入两个数
Console.WriteLine("请输入第二个数");
int n = Convert.ToInt32(Console.ReadLine());
int num = 0;
//先拿到最大值 Math.Max(num1,num2);
int maxNum = Math.Max(m, n);
for (; ; )
{
if (maxNum % n == 0 && maxNum % m == 0)
{
Console.WriteLine("{0}和{1}的最小公倍数是{2}", n, m, maxNum);
break;
}
maxNum += num;
4.随机数
** 生成一个随机数对象,里面会有一个方法 Next(a,b)方法从a取到b-1,不包括b ** 猜数字游戏,直接找到输入的数字然后输出成功
int num = r.Next(1, 100);
Console.WriteLine("猜数字游戏:");
while (true)
{
//Console.WriteLine("猜猜我的数字是什么:");
int num1 = Convert.ToInt32(Console.ReadLine());
if (num1 > num)
{
Console.WriteLine("数字大了");
}
else if (num1 < num)
{
Console.WriteLine("数字小了");
}
else
{
Console.WriteLine("猜中了");
break;
}
}
5.数组
//数组 比如要录入一个学生系统信息 要录入10个学生的年龄 创建10个变量
//使用一个大的盒子来存一组数据 数组 引用类型
//和普通的数据类型内存中存的位置不一样,存在堆中
//int[] year = { 1, 2, 3, 4, 5, 6,7}; //数组用的大括号
////Console.WriteLine(year.Length);
////第二种定义方式 限定长度
//int[] IdCard; //初始化声明
//IdCard = new int[5] {1,2,3,4,5 }; //生成一个数组,数组的长度是10,有默认的值是0
////怎么读取数组中的值 通过下标去读取 数组中是有编号的从0开始
//Console.WriteLine(IdCard[0]);
遍历数组
方法一
//for(int i = 0;i<year.Length;i++)
//{
// Console.WriteLine(year[i]);
//}
方法二
//foreach(int temp in year) //会取遍历数组,然后每次获取的值会给temp变量
//{
// Console.WriteLine(temp);
//}
数组实例
实例1:
//Console.WriteLine("请输入一个字符串:");
//string str = Console.ReadLine(); //获取一组数据
//Boolean isleagal = false;
////循环遍历每个字符
//for (int i = 0; i < str.Length; i++)
//{
// if (48 <= str[i] && str[i] <= 57 || 65 <= str[i] && str[i] <= 90 || 97 <= str[i] && str[i] <= 122)
// {
// if (i == 0 && 48 <= str[i] && str[i] <= 57)
// {
// break;
// }
// isleagal = true;
// }
// else
// {
// isleagal = false;//只要有一个不合法就退出
// break;
// }
//}
// //根据isleagal判断是否合法
// if(isleagal)
// {
// Console.WriteLine("这是一个合法的标识符");
// }
// else
// {
// Console.WriteLine("不合法标识符");
// }
实例2:
//先输入一个字符串
//Console.WriteLine("请输入一个字符串,判断是否是回文:");
//string str = Console.ReadLine(); //输入字符串
////先定义一个变量来记录是否是回文串
//Boolean isPalindrome = true;
////循环字符串
//for (int i = 0; i < str.Length/2; i++)
//{
// if (str[i] != str[str.Length -i - 1])
// {
// isPalindrome = false;
// break;
// }
//}
//if(isPalindrome)
//{
// Console.WriteLine("是回文串");
//}
//else
//{
// Console.WriteLine("不是回文串");
//}
实例3
//妈妈每个月给小明300块,不过百就不存,过百给妈妈整百,逐渐超出预算,输出超出月份和负数
//先定义一个变量来存预算
//string str = Console.ReadLine();
//string[] strArray = str.Split(" ");
//int[] budget = new int[strArray.Length];
////定义一个变量表示每个月给妈妈的钱
//int mom = 0;
////定义一个变量表示小明每个月自己剩下的钱
//int self = 0;
////定义一个变量表示小明最终剩下的钱,包括妈妈那边的
//int all = 0;
////定义一个变量 表示有没有超出预算 默认没有
//Boolean isOut = false;
//int m = 1;//定义一个变量记录,
////赋值
//for(int i = 0; i < strArray.Length; i++)
//{
// budget[i] = Convert.ToInt32(strArray[i]);
//}
////遍历数组
//for(int i = 0; i < budget.Length; i++)
//{
// mom += ((300 + self - budget[i]) / 100) * 100;//到目前月份给妈妈的钱
// //当前月份剩下的钱
// self = 300 + self - budget[i] - ((300 + self - budget[i]) / 100) * 100;
// if(self<0)
// {
// isOut = true;
// m = i + 1;
// break;
// }
//}
////判断有没有超出预算
//if(isOut)
//{
// Console.WriteLine(-m);
//}
//else
//{
// Console.WriteLine("小明目前实际总的钱为{0}元", self + mom * 1.2);
//}