这题怎么错了
  • 板块学术版
  • 楼主yxxh2012
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/11/18 11:46
  • 上次更新2023/11/18 14:28:17
查看原帖
这题怎么错了
1031854
yxxh2012楼主2023/11/18 11:46

描述

我国的邮政编码采用四级六位数编码结构。前两位数字表示省/直辖市/自治区;第三位数字表示邮区,第四位数字表示县(市),最后两位数字表示投递局。例如北京的邮政编码的前两位数字为10,上海为20,天津为30。 童童有来自北京、上海、天津三个城市的朋友写来的n封信件,现将这些信件按北京、上海、天津的顺序分类输出,相同城市的信件按原序输出。

输入描述

共两行,第一行有一个整数n(0≤n≤10000),表示信件的数量;第二行是n封信件的邮政编码,数与数之间以空格隔开。

输出描述

Beijing 北京地区的信件邮政编码,以空格隔开,如果没有则空着; Shanghai 上海地区的信件邮政编码,以空格隔开,如果没有则空着; Tianjin 天津地区的信件邮政编码,以空格隔开,如果没有则空着;

样例输入 1

4 101400 200030 102100 101300

样例输出 1

Beijing

101400 102100 101300

Shanghai

200030

Tianjin

样例输入 2

6 300017 201100 201200 101404 100031 100034

样例输出 2

Beijing

101404 100031 100034

Shanghai

201100 201200

Tianjin

300017

大家帮我看一下,下面是我的代码,帮我看一下为什么错了,,总是WA

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,a[10000],b[10000],c[10000],m[10000],i1=0,i2=0,i3=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>m[i];
	}
	for(int i=0;i<n;i++)
	{
		if(m[i]/10000==10)
		{
			a[i1]=m[i];
			i1++;
		}
		if(m[i]/10000==20)
		{
			b[i2]=m[i];
			i2++;
		}
		if(m[i]/10000==30)
		{
			c[i3]=m[i];
			i3++;
		}
	}
	cout<<"Beijing"<<endl;
	for(int i=0;i<i1;i++)
	{
		cout<<a[i]<<" ";
	}
	cout<<endl<<"Shanghai"<<endl;
	for(int i=0;i<i2;i++)
	{
		cout<<b[i]<<" ";
	}
	cout<<endl<<"Tianjing"<<endl;
	for(int i=0;i<i3;i++)
	{
		cout<<c[i]<<" ";
	}
	return 0;
}
2023/11/18 11:46
加载中...