20/07/13

20/07/13

输入的控制

在程序当中,我们时常会用到循环去控制一些输入,输出,计算,而控制循环次数的方法又有很多种,下面是get到的几点,来说一下。

1、程序自动控制

在程序当中,我们可以设置一个常量或者已初始化的变量,去对循环条件进行检测,如下:

int number;
for(int i = 0; i <= 5; i++) {
    cin >> number;
    if(number >= 10)
       cout << number << endl;
}
int number;
int frequency =8;
for(int i = 0; i <= frequency; i++) {
    cin >> number;
    if(number >= 10)
       cout << number << endl;
}

上面两个程序片段中,第一个程序就是设置的一个常量,来监测判断条件的,第二个程序则是多了一步,设置了一个变量来代替常量进行监测,在很多时候第一种方法都不是太方便,一般的第二种比第一种更加的适用。

2、人工控制(下面两个方法的名字是自己取的)

(1)变量法
int number;
int frequency;
cin >> frequency;
for(int i = 0; i <= frequency; i++) {
    cin >> number;
    if(number >= 10)
       cout << number << endl;
}

上面这种方法比较的简单,就是变量的基础上,加上了一个人工输入的控制而已。好了,下面是今天的重点。

(2)输入检测法
int number;
for(;cin.fail() == false;) {      //或者可以用for(;cin >> number;)不过需要删去循环体中的cin
    cin >> number;
    if(number >= 10)
       cout << number << endl;
}
int number;
while(cin.fail() == false) {
    cin >> number;
    if(number >= 10)
       cout << number << endl;
}

上面两种方法都可以实现,这取决于程序员,上面两个代码都可以让程序员随时停止循环(这取决于程序员),它的判断不是在编译或初始化的时候而是在实时运行的时候。我在查阅部分质料后,了解程序员可以通过输入+或同时用键盘输入ctrl和Z的流,以实现循环的终止,这种方法在比赛循环的控制中会比较实用(后面的控制循环终止再上交题目检测的时候,检测程序会帮你做的),当然可能你也发现了在这一种方法里面用while是刚好的,但是for就有些“大材小用”了。
最后说一下,上面的cin.fail()也可以换成cin.eof(),但是前者比后者的适用性更高,后者在现实中的兼容性不如前者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值