程序流程一些循环或者选择,跳出结构

for和while都是循环结构,其实我现在也没分清他俩到底什么时吼该用谁?
但是书上写:当给定初始值的时候并且都要累加(减)的时候就可以用for循环

跳出语句没怎么用过,但是有一个应该很熟悉就是break早上在学习switch的时候刚用过,作用是终止当前所在循环语句
而另一个跳出的是continue,他的用法是终止当前循环而进入下一次循环

我这次自己写了一个循环,就是奇数之和和偶数之和相加之和的结果,但是我在局部变量这个地方卡了起来
int SumEven = 0;//全局变量
int SumOdd = 0;
for (int i = 0; i <=100; i++)//i就是局部变量
{

            if (i % 2 == 0)
            {
                SumEven = SumEven + i;
            }
            else
            {
                SumOdd = SumOdd + i;
            }
           
        }
        Console.WriteLine("偶数之和为" + SumEven);
        Console.WriteLine("奇数之和为" + SumEven);

今天有一个习题很有意思输出九九乘法表
首先难住我的有两个问题:
第一 怎么在左边输出变量 因为乘法表是ab=c,但是在代码里,左边的不能为表达式,我只会输出c=ab
所以应该这么写 “{0}{1}={2}”,然后依次填写i,j,product ,在字符串内的赋值等值可以随便写
第二怎么在适当的时候换行 这就是我没有仔细观察总结,乘法表里只有i>j这种情况,因此可以写一个if表达式
当i<j的时候break
剩下的问题因为被这两个问题难住了我就没有接下来分析,
怎么在i==j的时候换行,怎么在两个表达式之间插入空格,我其实解决了这两个问题但是增加了代码的长度,没有答案给的简单,我给出的答案是,当i=j的时候输出writeline 然后continue 空格就直接输出“ ”就可以了。答案给的是:
在内循环中在表达式后面“{0}
{1}={2}”添加\t制表键就增添了空格,输出的时候是write就不会转行
然后在外循环中输出writeline()
当输出数组的时候,有两种方法比较简单,第一种是for方法,但是循环条件的时候,我一开始是自己知道我自己写的数组有多少个,因此直接i<5,但是正规写法应该是i<var.Length,有可能我日后看的时候觉得这个超简单的有什么好写的呢???但是在我自己敲这行代码的时候我确实一点没想到要写用这个长度写法。

这次的题目也很有意思,是验证输入的字符串长度和否是大写字母的考虑循环和判断语句的嵌套
首先呢?我们考虑这次循环是使用while循环,那么什么时候该循环呢?就是用户输入不正确的时候,因此我们的判断条件就应该是 bool judge=false;
因此我们要在循环里写输入和输出
然后在循环里写if语句判断,这里我们应该考虑的是两点第一长度是不是五个?第二输入的是不是大写字母?
在这之前我有一个还要讲就是输入的为什么?string str=Console.ReadLine();我们要想单独得到字符串里的一个字母可以用到数组str[i]
然后我们在while内嵌套for循环遍历字符串
if(str.Length!=5)
{
}
else
{
for循环
2.
if(a < ‘A’ || a > ‘Z’)
{
3.
}
else
{
输出正确的字母
}
1.
}
到这里整体的框架都搭出来了,但是你运行的时候你发现不对,因为当你输入正确的五个大写字母的时候,程序还让输入这里就是没有把while的条件改正
这里当字符不是大写字母的时候就不能执行for循环了,应该跳出for循环,这里我们应该加一个break;
然后当for循环结束的时候,我们就像直接结束程序,这里我们应该讲while循环的条件,judge=true;
但是这个judge=true我们加在哪里呢?一开始我把他加在第一层else的1.处,但是我发现当输入正确的时候确实跳出程序了,但是当输入的不是大写字母的时候,他也跳出while循环了,我就想了,break不是跳出内层循环然后转向while循环了么?但是我想错了,因为他只是跳出内层循环但是接下来的程序还是继续走的,因此我们既要保证输入正确的时候结束程序,也要保证在输入不为大写字母的时候转到while循环,因此我们要在2.的位置添加judge=true保证可以结束循环,在3.的位置重新给judge赋值使之能够重新开始while循环。

break是跳出当前循环,循环未完成的部分都不会执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值