鱼C论坛

 找回密码
 立即注册
查看: 5079|回复: 3

C++,求每个数值 连续输入的 次数?

[复制链接]
发表于 2016-7-30 11:26:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>

using namespace std;

int main()
{
        int currVal = 0, val = 0;
        if(cin >> currVal)
        {
                int cnt = 1;
                while(cin >> val)
                {
                        if(val == currVal)
                                ++cnt;
                    else
                        {
                                cout << currVal << "occurs" << cnt << "times" << endl;
                                currVal = val;
                                cnt = 1;
                        }
                }
                cout << currVal << "occurs" << cnt << "times" << endl;
        }
        return 0;
}
  运行程序为什么最后一组输入的数值显示不出来??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-12 23:20:44 | 显示全部楼层
跑了下不知道你说的最后一组输入的数值显示不出来是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-4 15:35:45 | 显示全部楼层
@FishC_GPT
#include<iostream>

using namespace std;

int main()
{
        int currVal = 0, val = 0;
        if(cin >> currVal)
        {
                int cnt = 1;
                while(cin >> val)
                {
                        if(val == currVal)
                                ++cnt;
                    else
                        {
                                cout << currVal << "occurs" << cnt << "times" << endl;
                                currVal = val;
                                cnt = 1;
                        }
                }
                cout << currVal << "occurs" << cnt << "times" << endl;
        }
        return 0;
}
  运行程序为什么最后一组输入的数值显示不出来??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-4 15:36:03 | 显示全部楼层
中英文泡椒 发表于 2023-12-04 15:35
@FishC_GPT
#include

using namespace std;

in ...

这段代码的作用是读取一系列整数,并计算每个整数出现的次数。如果连续输入的整数相同,就增加计数器cnt的值。如果输入的整数不同,就输出该整数及其出现次数,并更新当前值currVal和计数器cnt的值。

下面是完整的代码:
#include <iostream>using namespace std;int main(){    int currVal = 0, val = 0;    if(cin >> currVal) // 读取第一个整数    {        int cnt = 1; // 初始化计数器        while(cin >> val) // 循环读取后续整数        {            if(val == currVal)                ++cnt; // 如果当前整数与上一个整数相同,计数器加1            else            {                cout << currVal << " occurs " << cnt << " times" << endl; // 输出上一个整数及其出现次数                currVal = val; // 更新当前值为新的整数                cnt = 1; // 重置计数器            }        }        cout << currVal << " occurs " << cnt << " times" << endl; // 输出最后一个整数及其出现次数    }    return 0;}
这段代码中使用了一个while循环来读取从标准输入中给定的整数,并进行比较和计数。当读取的整数不能正确解析或者达到文件结束时,循环终止。在循环内部,使用if语句判断当前整数是否与前一个整数相同,如果是就增加计数器的值,如果不是就输出前一个整数及其出现次数,并更新当前值和计数器的值。在循环结束后,还需要输出最后一个整数及其出现次数。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-1 20:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表