|
发表于 2023-12-4 15:36:03
|
显示全部楼层
这段代码的作用是读取一系列整数,并计算每个整数出现的次数。如果连续输入的整数相同,就增加计数器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官方接口),如未能正确解答您的问题,请继续追问。 |
|