其他分享
首页 > 其他分享> > 通话记录

通话记录

作者:互联网

问题描述

使用3个队列,分别保留手机上最近10个,(0)未接来电、(1)已接来电、(2)已拨电话。

输入

全部通话记录,每行一条记录。

每条记录包含两个数字,第一个数代表记录类型,第二个数代表手机号码。

输出

分3列输出未接来电、已接来电、已拨电话。

列之间用空格分割,后接电话在最先输出,不足10条用0占位。

注:

1. 输入时用while,不要用for循环
2. 电话很长,用string比较方便
3. 直接在前面各加十个0,可以避免计数,判空

#include<iostream>
#include<stack>
using namespace std;
int main(){
	int n;
	string pn;
	stack<string> a,b,c;
	for(int i=0;i<10;i++){
		a.push("0");
		b.push("0");
		c.push("0");
	}
	while(cin>>n>>pn){
		if(n==0) a.push(pn);
		if(n==1) b.push(pn);
		if(n==2) c.push(pn);
	}
	for(int i=0;i<10;i++){
		cout<<a.top()<<" "<<b.top()<<" "<<c.top()<<endl;
		a.pop();
		b.pop();
		c.pop();
	}
	return 0;
}

标签:int,通话记录,来电,push,未接,pn
来源: https://blog.csdn.net/weixin_42408097/article/details/114899492