C++ primer学习 1.4 if 语句

例子 课本p15


#include<iostream>
int main()
{

int currval=0,val=0;
//首先判断有无输入,读取第一个数
if(std::cin>>currval)
{
    int cnt=1;
    //如果有数据输入,那么再判断输入的值是啥
    while(std::cin>>val)
    {
        if(val==currval)
    {
            ++cnt;
    }
        else
    {
            std::cout<<currval<<"occurs"
                  <<cnt<<"times"<<std::endl;
            currval=val;
            cnt=1; //重置计数器,因为出现的是新值。
    }
    }
    std::cout<<currval<<"occurs"
                 <<cnt<<"times"<<std::endl;
}
return 0;
}

注意:
在运行的时候,会出现 ”LINK : fatal error LNK1168:“的错误,原因是
VC在重新生成Debug目录下的exe文件时,需要先删除原先的exe文件。但因为文件正在运行或是被锁定等原因,删除不了,于是出现 LNK1168错误。你可以先将原先的exe文件关闭后手工删除(如果找不到窗口,就看看任务管理器中是有这个exe正在运行,存在就强制关闭它)。如果删除失败,则用右键菜单中的36o解除占用试试。我把之前的运行窗口关闭后就解决了这个问题。

有几个疑问:

  1. 这里计算的是每个数连续出现的次数,而不是总的出现的次数,那要算总的出现的次数,程序怎么改?
  2. 我写的这个和书本上的一样啊,为什么最后一个数输不出来??

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值