这段代码的作用是读取一系列整数,并计算每个整数出现的次数。如果连续输入的整数相同,就增加计数器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官方接口),如未能正确解答您的问题,请继续追问。 |