• 个人简介

    牢弟,直接坐下😕

    你是第Page Views Count个来瞅本Hao的

    image

    抗日战争大事件时间线

    image

    一、1928年6月4日:奉系军阀张作霖专列在沈阳皇姑屯被炸药炸毁,张作霖当日在沈阳去世。因张作霖未能满足日本诉求的满蒙权益,遂被关东军谋害。

    二、1928年12月29日(东北易帜):张学良继任奉系首领后,于12月29日通电宣布,即日起遵守三民主义,服从国民政府,改易旗帜,此举标志着国民政府完成统一。

    三、1929年7月:中东路事件。1929年7月,在南京国民政府​“革命外交”的氛围中,国民政府委员、东北政务委员会主席、​东北边防军司令长官张学良以武力强行收回当时为苏联掌握的中东铁路部分管理权。17日,苏联政府宣布从中国召回所有官方代表,要求中国外交官​迅速撤离,​断绝外交关系​。9月至11月,​苏联远东特别集团军​进攻中国东北边防军,​东北军​战败。12月22日,东北地方当局代表蔡运升受张学良委派,与苏联代表谈判,达成《​伯力议定书》。

    四、1930年10月雾社事件:10月27日台湾赛德克日不满日本暴政,在首领莫那·鲁道的带领下起事,袭杀日本人。遭到残酷镇压,各部族几乎灭族,数百人集体自缢。

    五、1931年6月:日本陆军省和参谋本部提出《解决满蒙问题方案大纲》,6月25日中村事件

    六、1931年7月万宝山事件。日军利用侨居在吉林省万宝山村的朝鲜人与当地农民因租地挖渠引起的冲突,以保护朝鲜人为由,开枪镇压中国农民,打伤多人。日本事后反而颠倒事实,在朝鲜大肆宣传华人排斥朝鲜人,在朝鲜煽动了一场骇人的暴动排华事件。该事件导致朝鲜华侨142人被杀,546人受伤,91人失踪。

    七、1931年9月“九一八事变”:9月18日夜,在日本关东军安排下,铁道“守备队”炸毁沈阳柳条湖附近的南满铁路路轨,并嫁祸中国军队。日军以此为借口炮轰沈阳北大营。东北告急!

    八、1931年11月江桥抗战:11月4日,日军攻占黑龙江省会齐齐哈尔途中,遭遇马占山领导的阻击。这是中国军队有组织有领导的抗击日本侵略者的第一枪。

    九、1931年12月17日珍珠桥惨案:全国各地学生示威团赴南京抗议“不抵抗主义”。大批军警对示威学生镇压,30多名学生被杀,100多人受伤,60多人被捕。

    十、1932年1月28日“一·二八淞沪抗战”:为转移对东北的国际视线,对国民政府施压,日本自导自演在上海挑起战事,第十九路军奋起抵抗。上海人民积极支援抗战。

    十一、1932年3月9日伪满洲国成立:在日本策划下,3月9日末代皇帝溥仪宣布就任“满洲国执政”年号“大同”,同时任命各部门官员,伪“满洲国”正式成立。

    十二、1932年5月5日淞沪停战协定:5月5日国民政府签订,《淞沪停战协定》,划上海为非武装区,中国不得在上海至苏州、昆山一带驻军,日本则可以在许多地区驻军。

    十三、1933年3月-5月长城抗战:中国军队在山海关至古北口一线长城抗击侵华日军,史称“长城抗战”,古北口、喜峰口、罗文峪等地战斗最为激烈。“大刀向鬼子们的头上砍去!”

    十四、1933年4月10日:蒋介石发表演说:抗日必先剿匪,安内始能攘外。

    十五、1933年5月26日察哈尔民众抗日同盟军在张家口成立。

    十六、1933年5月31日塘沽协定:中日代表签订停战协议。规定冀东为非武装区,实际承认了日本对东北、热河的占领,为日军近一步侵占华北敞开了大门。

    十七、1934年2月21日:东北抗日联合军总指挥部成立。11月24日抗日将领吉鸿昌被杀。

    十八、1935年5月《义勇军进行曲》首次唱出:《义勇军进行曲》由田汉作词,聂耳谱曲,诞生在抗击日本侵略的战争年代。作为电影《风云儿女》的主题曲唱遍大江南北,作为反法西斯的战歌在世界传唱。

    十九、1935年6月27日“秦土协定”:签订后,宋哲元部从长城以北撤出,向北平方向集结。使中国丧失了在察哈尔省的大部分主权,也丧失了察省疆土的70%-80%。

    二十、1935年7月6日“何梅协定”:何梅协定是指1935年6月11日至7月6日间,日本华北驻屯军司令梅津美治郎何应钦之间往来的备忘录和复函。

    ​1935年5月,已通过《​塘沽停战协定》将其侵略势力渗透到华北的日本帝国主义,又向当时的中国国民政府军政部长何应钦提出统治华北的无理要求。国民党当局在日本的威逼利诱下又一次屈服。1935年5月29日,何应钦与日方代表开始秘密谈判。1935年6月9日,梅津美治郎向何应钦提出备忘录,限三日答复。何应钦经蒋介石授意后,于7月6日正式复函梅津美治郎,接受日方要求。

    何梅协定取消了国民党在河北及平津的党部;撤退驻河北的东北军​、​中央军和宪兵第三团。国民政府接二连三地与日本签订出卖主权的协定,激起了全国人民的极大义愤。

    二十一、1935年8月1日:中共中央在莫斯科发表《为抗日救国告全体同胞书》即《八一宣言》

    二十二、1935年11月12日国民党五大召开:蒋介石发表演说:“和平未到完全绝望时刻,绝不放弃和平;牺牲未到最后关头,决不轻言牺牲。”

    二十三、1935年12月9日“一二·九运动”:北平大中学生数千人举行示威游行,反对华北自治,反对日本帝国主义,要求保全中国领土的完整,掀起了全国抗日救国新高潮。

    二十四、1935年12月17日瓦窑堡会议:中国中央在陕北子长县瓦窑堡召开政治局扩大会议。会议在毛泽东的主持下,制定了抗日民族统一战线的策略方针。

    二十五、1936年2月26日“二·二六兵变”:日本青年军官纠集1400多名官兵发动政变,袭杀多名高级官员,要求成立“军人政府”,实行法西斯独裁。政变随后被镇压,但军方对政府决策的影响力大增。

    二十五、1936年6月25日“731部队成立”:负责人石田四郎,其灭绝人性的大量使用活人试验,是当时世界最大的细菌武器工厂。日军在中国多次进行细菌战,杀害中国军民数十万人。

    二十六、1936年11月24日百灵庙大捷:

    二十七、1936年12月12日西安事变:张学良和西北军将领杨虎城发动“兵谏”扣留蒋介石。经调解,事变以蒋介石接受“停止内战,联共抗日”而和平解决。

    二十八、1937年7月7日卢沟桥事变:日军在北平西南卢沟桥附近演习,借口一士兵失踪,要求进入宛平城搜查。遭到拒绝后,日军向守军开枪射击,炮轰宛平城。第29军奋起抵抗。七七事变是中华民族全面抗战的起点。七七事变第二天,中共中央通电全国“全中国的同胞们,平津危急!华北危急!中华民族危急!只有全民族实行抗战,才是我们的出路!”

    二十九、1937年7月17日庐山宣言:蒋介石发表《对卢沟桥事件之严正声明》,称“如果战端一开,那就是地无分南北,年无分老幼,无论何人,皆有守土抗战之责,皆应抱定牺牲一切之决心。”

    三十、1937年8月13日“八·一三事变”:中日在上海不断发生摩擦,蒋介石采取主动反击日军,8月13日淞沪会战爆发,经过数月激战,上海最终沦陷,但也粉碎了日本“三个月灭亡中国的计划”。

    三十一、1937年8月22日洛川会议召开:中共中央召开政治局扩大会议,决定把党的工作重心放在战区和敌后,在敌后放手发动群众,开展独立自主游击战争,开辟敌后战场,建立敌后抗日根据地。

    三十二、1937年9月:八路军东渡黄河抗日 ,太原会战爆发,22日国共实现第二次合作。

    三十三、1937年9月25日平型关大捷:林彪指挥八路军115师在平型关附近伏击日军,歼敌一千余人,取得抗日首胜,从而打破了日军不可战胜的神话。

    三十四、1937年10月26日“四行仓库“保卫战:以谢晋元领导的“八百壮士”死守苏州河西岸四行仓库,挡住日军多番进攻 并成功掩护其他部队撤退,标志着淞沪会战的结束。

    三十五、1937年11月19日:国民政府宣布迁都重庆。

    三十六、1937年11月21日:苏联空军志愿军开始迎战日军。

    三十七、1937年12月13日南京沦陷:日军攻陷民国首都南京,中华民族面临生死存亡!沦陷后数周内,日军展开餐具人寰大屠杀,三十万同胞罹难。据统计,日军侵华期间造成中国伤亡3500万人,制造800人以上伤亡惨案173起。

    三十八、1938年3月14日血战台儿庄:1月徐州会战爆发,作为徐州会战的重要组成部分,台儿庄战役打响。此役激战一个月,毙伤敌约2万人,是全面抗战爆发以来最大的胜利。

    三十九、1938年6月9日花园口决堤:为阻止日军进攻武汉,国军按蒋介石命令炸开黄河大堤。洪水淹没大片土地,先后有89万百姓丧生,上千万人流离失所,形成了连年灾害的黄泛区。

    四十、1938年6月11日武汉会战:日军进犯长江中游,会战爆发,这是战略防御阶段规模最大的一次战役,以武汉失守告终,但抗战从此进入战略相持阶段。

    四十一、1938年7月1日《论持久战》发表:毛泽东分析了中日相互矛盾的基本特点,指出了战争的持久性和最后的胜利属于中国而不是日本,在国内外产生重大影响。

    四十二、1938年10月10日南洋华侨筹赈祖国难民总会成立:“南侨总会”在新加坡成立,陈嘉庚任主席,海外1100万华侨,在中华民族生死存亡的关头,为支援祖国抗战做出了巨大的贡献。

    四十三、1938年11月长沙“文夕大火”:迫于日军进犯,国民党当局计划采用焦土政策,焚毁长沙。由于组织失误。11月13日燃起大火,导致三万多平民丧生,九成以上的房屋被烧毁。

    四十四、1938年12月汪精卫投敌叛国:12月国民党副总裁汪精卫潜逃越南,于12月29日发出“艳电”表明投日立场,并导致国民政府大批文武官员追随。

    四十五、1939年5月诺门罕战役:日本在外蒙边界挑衅试探,导致苏联卷入战争。最终,关东军精锐被苏蒙军队击溃,日本从而放弃“北进”,选择“南进”政策。

    四十六、1939年9月1日凌晨德国闪击波兰:两天后,英国、法国向纳粹德国宣战。第二次世界大战全面爆发。

    四十七、1940年2月23日:东北抗日联军第一路军总指挥兼政委杨靖宇,只身与敌人周旋5昼夜后弹尽粮绝牺牲,时年35岁。

    四十八、1940年3月30日汪精卫伪中央政府成立:汪精卫在南京举行所谓“国民政府”还都仪式,正式成立伪中亚给政府,统一关内各伪政府,并发表《和平建国十大政纲》

    四十九、1940年5月16日:第33集团军总司令张自忠在前线被日军机枪子弹击中,为不让日军俘虏,张自忠举枪自尽殉国,为我在抗战中牺牲的最高级被将领。

    五十、1940年6月法国投降:欧洲西线开战仅40天,法国即被德军闪电战击溃。6月22日,法国贝当政府在责比涅森林签署投降书,之后成立傀儡的维希政府。

    五十一、1940年8月22日百团大战:在八路军将领彭德怀总指挥下,出动105个团,近40万大军向华北主要交通沿线大小据点的日伪军出击,主动开展大规模的交通破袭战。

    五十二、1941年1月6日皖南事变:皖南新四军部队行军时遭国民党军袭击,激战七昼夜,大部壮烈牺牲。作为国民党第二次反共高潮的顶峰,震惊中外。

    五十三、1941年6月5日大隧道惨案:日军轰炸重庆,大量市民进入十八梯大隧道防空洞躲避,由于人多空间小,加上洞口紧闭,洞内氧气缺少,导致大量市民最终因缺氧而死。

    五十四、1941年6月22日苏德战争爆发:纳粹德国及仆从国出动190个师,3700辆坦克,4900架飞机,47000门大炮和190艘战舰,共550万人,分三路闪击苏联,战争全面爆发。

    五十五、1941年8月1日飞虎队成立:中国空军美国志愿大队正式成立。在中国空军消耗殆尽之时,“飞虎队”的成立一定程度上组织了日本空军在华的肆虐。

    五十六、1941年12月5日莫斯科保卫战转折:9月,德国集中兵力进攻莫斯科。苏军顽强抵抗。12月5日转为反攻,到次年一月初,的军被迫西撤100-250千米,此后,德军再也没有威胁到莫斯科。

    五十七、1941年12月7日偷袭珍珠港:日本海军突袭美国海军夏威夷基地珍珠港,重创美国太平洋舰队,并攻占马来西亚,菲律宾等地,太平洋战争由此爆发。

    五十八、1941年12月9日国民政府正式对日宣战。

    五十九、1942年1月1日发表《联合国家宣言》:美、英、苏、中等26个国家发表宣言、决心共同战败德、意、日法西斯侵略、直到其无条件投降为止。宣言标志着国际反法西斯同盟正式成立。

    六十、1942年1月中国远征军入缅作战:日军由泰国攻入缅甸南部,中国远征军支援,此次战役持续四个月,以中英盟军溃败、中国远征军损失五万人而告终。

    六十一、1942年4月2日缅甸公路封闭,驼峰航线试开通。4月19日仁安羌大捷。

    六十二、1942年5月25日左权牺牲:八路军副参谋长左权在指挥部队掩护机关突围转移时牺牲,年仅37岁,为抗战期间八路军牺牲最高级别将领。

    六十三、1942年6月4日中途岛海战:日美航母战斗群在中途岛海域激战。美军击退日军对中途岛的攻击,获得太平洋战争的主动权,是太平洋战争的转折点。

    六十四、1943年2月2日斯大林格勒保卫战胜利:二战以来最为惨烈的斯大林格勒保卫战以苏军的获胜告终。苏德双方总共上网约200万人。此战成为整个第二次世界大战转折点。

    六十五、1942年5月13日北非战场以同盟国胜利结束。

    六十六、1943年9月意大利投降。

    六十七、1943年11月28日德黑兰会议召开。

    六十八、1943年12月1日《开罗宣言》:中美英首脑在开罗会议中,明确协同对日作战的宗旨,并承诺处置日本侵略者的安排,三国同时在重庆、华盛顿、伦敦三地同时发表了代表会议精神的《开罗宣言》

    六十九、1944年4月豫湘桂战役:日军为打通大陆交通线,在华北、华东、华南发动全面进攻。八个月中,国军全面溃败,损失兵力50-60万,丢失146座城市,丧失国土20多万平方公里。

    七十、1944年6月4日松山之战:中国远征军进攻松山,经过95天惨烈战斗,将1300名据守日军全部歼灭。是二战亚洲大陆战场上第一次将日军成建制全歼的战役。

    七十一、1944年6月6日诺曼底登陆:近三百万盟军士兵渡过英吉利海峡前往法国诺曼底登陆。战役成功开辟了欧洲西线战场,加速了纳粹德国的灭亡。

    七十二、1945年2月4日雅尔塔会议召开:美英苏三国首脑在苏联克里米亚半岛举行会议,决定彻底消灭德国纳粹,苏联承诺在欧战结束后对日作战,雅尔塔会议对战后世界格局奠定了深远的影响。

    七十三、1945年4月30日希特勒自杀:27日柏林完全被苏军包围,30日希特勒在总理府地下室自杀。5月8日德国投降。

    七十四、1945年7月《波茨坦公告》:7月26日中美英《波茨坦公告》发布,盟国将给予日本最后打击,直至停止抵抗;日本政府应立即宣布所有武装部队无条件投降等。苏联对日宣战后加入该公告。

    七十五、1945年8月6日广岛原子弹爆炸:经美国总统杜鲁门和军方决定,美国对日本广岛投掷原子弹,造成大量军民伤亡。原子弹的连续爆炸有效加速了日本的投降。

    七十六、1945年8月:国民政府与苏联签订《中苏友好同盟条约》

    七十七、1945年8月15日《终战诏书》:日本广播协会播放日本天皇裕仁当天所录的《终战诏书》,表示接受美、英、中、苏的《波茨坦公告》,同意无条件投降。

    七十八、1945年8月21日芷江受降:侵华日军副总参谋长今井武夫与中方经过商谈,确定了侵华日军向中国军民投降的所有事宜,交出日军在华兵力分布图,并在备忘录上签字。

    七十九、1945年9月2日日本正式投降:在东京湾的美国战列舰密苏里号上,外相重光葵代表日本天皇和政府,陆军参谋长梅津美治郎代表帝国大本营在投降书上签字。第二次世界大战胜利结束。

    八十、1945年9月9日南京受降:中国战区受降仪式在南京举行,陆军总司令何应钦代表中国战区最高统帅接受侵华日军投降,岗村宁次在投降书上签字。

    抗日战争胜利了!!

    中国抗日战争是中国近代以来反抗外敌入侵第一次取得完全胜利的民族解放战争。 它促进了中华民族的觉醒,为中国共产党带领中国人民实现彻底的民族独立和人民解放奠定了重要基础。中国战场是世界反法西斯战争的东方主战场,对世界反法西斯战争的胜利、维护世界和平作出了巨大贡献。中国的国际地位得到提高!

    image

    水墨丹青,皆是同窗情谊;刹那芳华,恰是同学少年......

    image

    代码为大数加法(JakeHao原创)

    // *****JakeHao.cpp*****
    // 大数加法
    #include <iostream>
    #include <cstring>
    #include <Windows.h>
    using namespace std;
    void numReduce(int sta1[10005],int sta2[10005],int top1,int top2);
    void zBigPlus(char num1[10000],char num2[10000]);
    void zfBigPlus(char num1[10000],char num2[10000],bool flag1,bool flag2);
    void init(int a);
    int main()
    {
    	system("color EC");
    	system("title By JakeHao");
    	int a=0;
    	while(true)
    	{
    		char again;
    		a++;
    		init(a);
    		cout << "你还要使用吗,使用输入c,退出输入q" << endl;
    		cin.clear();
    		cin >> again;
    		if(again=='c')
    		{
    			continue;
    		}
    		else
    		{
    			cout << "拜拜" << endl;
    			system("pause");
    			break;
    		}
    	}
    	return 0;
    }
    void numReduce(int sta1[10005],int sta2[10005],int top1,int top2)
    {
    	int reduce[10010],toopp=top1;
    	memset(reduce,0,sizeof(reduce));
    	while(top1>0)
    	{
    		if(top2>0)
    		{
    			if(sta1[top1]==-1)
    			{
    				reduce[top1]=9;
    			}
    			if(sta1[top1]-sta2[top2]>=0)
    			{
    				reduce[top1]=sta1[top1]-sta2[top2];
    			}
    			else
    			{
    				reduce[top1]=10+sta1[top1]-sta2[top2];
    				int ttop1=top1;
    				if(sta1[ttop1-1]==0)
    				{
    					sta1[--ttop1]=9;
    				}
    				else
    				{
    					sta1[--ttop1]-=1;
    				}
    			}
    			top1--,top2--;
    		}
    		else
    		{
    			if(sta1[top1]==-1)
    			{
    				reduce[top1]=9;
    			}
    			else
    			{
    				reduce[top1]=sta1[top1];
    			}
    			top1--;
    		}
    	}
    	for(int i=0; i<=toopp; i++)
    	{
    		if(i==0&&reduce[i]==0)
    		{
    			continue;
    		}
    		else if(i==1&&reduce[i]==0)
    		{
    			continue;
    		}
    		cout << reduce[i];
    	}
    	cout << endl;
    }
    void zBigPlus(char num1[10000],char num2[10000])
    {
    	int sta1[10005],sta2[10005],top1=0,top2=0;
    	int plus[10010];
    	memset(plus,0,sizeof(plus));
    	for(int i=0; i<strlen(num1); i++)
    	{
    		top1++;
    		sta1[top1]=num1[i]-'0';
    	}
    	for(int i=0; i<strlen(num2); i++)
    	{
    		top2++;
    		sta2[top2]=num2[i]-'0';
    	}
    	if(top1>top2)
    	{
    		while(top1>0)
    		{
    			if(top2>0)
    			{
    				if(sta1[top1]+sta2[top2]<10)
    				{
    					if(plus[top1]+sta1[top1]+sta2[top2]>=10)
    					{
    						plus[top1]=plus[top1]+sta1[top1]+sta2[top2]-10;
    						int ttop1=top1;
    						plus[--ttop1]+=1;
    					}
    					else
    					{
    						plus[top1]+=sta1[top1]+sta2[top2];
    					}
    				}
    				else if(sta1[top1]+sta2[top2]>=10)
    				{
    					plus[top1]+=sta1[top1]+sta2[top2]-10;
    					int ttop1=top1;
    					plus[--ttop1]+=1;
    				}
    				top1--,top2--;
    			}
    			else
    			{
    				if(plus[top1]+sta1[top1]>=10)
    				{
    					plus[top1]=plus[top1]+sta1[top1]+sta2[top2]-10;
    					int ttop1=top1;
    					plus[--ttop1]+=1;
    				}
    				else
    				{
    					plus[top1]+=sta1[top1]+sta2[top2];
    				}
    				top1--;
    			}
    		}
    		for(int i=0; i<=strlen(num1); i++)
    		{
    			if(i==0&&plus[i]==0)
    			{
    				continue;
    			}
    			cout << plus[i];
    		}
    	}
    	else if(top2>top1)
    	{
    		while(top2>0)
    		{
    			if(top1>0)
    			{
    				if(sta2[top2]+sta1[top1]<10)
    				{
    					if(plus[top2]+sta2[top2]+sta1[top1]>=10)
    					{
    						plus[top2]=plus[top2]+sta2[top2]+sta1[top1]-10;
    						int ttop2=top2;
    						plus[--ttop2]+=1;
    					}
    					else
    					{
    						plus[top2]+=sta2[top2]+sta1[top1];
    					}
    				}
    				else if(sta2[top2]+sta1[top1]>=10)
    				{
    					plus[top2]+=sta2[top2]+sta1[top1]-10;
    					int ttop2=top2;
    					plus[--ttop2]+=1;
    				}
    				top2--,top1--;
    			}
    			else
    			{
    				if(plus[top2]+sta2[top2]>=10)
    				{
    					plus[top2]=plus[top2]+sta2[top2]+sta1[top1]-10;
    					int ttop2=top2;
    					plus[--ttop2]+=1;
    				}
    				else
    				{
    					plus[top2]+=sta2[top2]+sta1[top1];
    				}
    				top2--;
    			}
    		}
    		for(int i=0; i<=strlen(num2); i++)
    		{
    			if(i==0&&plus[i]==0)
    			{
    				continue;
    			}
    			cout << plus[i];
    		}
    	}
    	else
    	{
    		while(top1>0)
    		{
    			if(sta1[top1]+sta2[top2]<10)
    			{
    				if(plus[top1]+sta1[top1]+sta2[top2]>=10)
    				{
    					plus[top1]=plus[top1]+sta1[top1]+sta2[top2]-10;
    					int ttop3=top1;
    					plus[--ttop3]+=1;
    				}
    				else
    				{
    					plus[top1]+=sta1[top1]+sta2[top2];
    				}
    			}
    			else if(sta1[top1]+sta2[top2]>=10)
    			{
    				plus[top1]+=sta1[top1]+sta2[top2]-10;
    				int ttop3=top1;
    				plus[--ttop3]+=1;
    			}
    			top1--,top2--;
    		}
    		for(int i=0; i<=strlen(num1); i++)
    		{
    			if(i==0&&plus[i]==0)
    			{
    				continue;
    			}
    			cout << plus[i];
    		}
    	}
    	cout << endl;
    }
    void fBigPlus(char num1[10000],char num2[10000])
    {
    	int sta1[10005],sta2[10005],top1=0,top2=0;
    	int plus[10010];
    	memset(plus,0,sizeof(plus));
    	for(int i=0; i<strlen(num1); i++)
    	{
    		if(i==0&&num1[i]=='-')
    		{
    			continue;
    		}
    		top1++;
    		sta1[top1]=num1[i]-'0';
    	}
    	for(int i=0; i<strlen(num2); i++)
    	{
    		if(i==0&&num2[i]=='-')
    		{
    			continue;
    		}
    		top2++;
    		sta2[top2]=num2[i]-'0';
    	}
    	if(top1>top2)
    	{
    		while(top1>0)
    		{
    			if(top2>0)
    			{
    				if(sta1[top1]+sta2[top2]<10)
    				{
    					if(plus[top1]+sta1[top1]+sta2[top2]>=10)
    					{
    						plus[top1]=plus[top1]+sta1[top1]+sta2[top2]-10;
    						int ttop1=top1;
    						plus[--ttop1]+=1;
    					}
    					else
    					{
    						plus[top1]+=sta1[top1]+sta2[top2];
    					}
    				}
    				else if(sta1[top1]+sta2[top2]>=10)
    				{
    					plus[top1]+=sta1[top1]+sta2[top2]-10;
    					int ttop1=top1;
    					plus[--ttop1]+=1;
    				}
    				top1--,top2--;
    			}
    			else
    			{
    				if(plus[top1]+sta1[top1]>=10)
    				{
    					plus[top1]=plus[top1]+sta1[top1]+sta2[top2]-10;
    					int ttop1=top1;
    					plus[--ttop1]+=1;
    				}
    				else
    				{
    					plus[top1]+=sta1[top1]+sta2[top2];
    				}
    				top1--;
    			}
    		}
    		cout << "-";
    		for(int i=0; i<=strlen(num1); i++)
    		{
    			if(i==0&&plus[i]==0)
    			{
    				continue;
    			}
    			else if(i==strlen(num1)&&plus[i]==0)
    			{
    				continue;
    			}
    			cout << plus[i];
    		}
    	}
    	else if(top2>top1)
    	{
    		while(top2>0)
    		{
    			if(top1>0)
    			{
    				if(sta2[top2]+sta1[top1]<10)
    				{
    					if(plus[top2]+sta2[top2]+sta1[top1]>=10)
    					{
    						plus[top2]=plus[top2]+sta2[top2]+sta1[top1]-10;
    						int ttop2=top2;
    						plus[--ttop2]+=1;
    					}
    					else
    					{
    						plus[top2]+=sta2[top2]+sta1[top1];
    					}
    				}
    				else if(sta2[top2]+sta1[top1]>=10)
    				{
    					plus[top2]+=sta2[top2]+sta1[top1]-10;
    					int ttop2=top2;
    					plus[--ttop2]+=1;
    				}
    				top2--,top1--;
    			}
    			else
    			{
    				if(plus[top2]+sta2[top2]>=10)
    				{
    					plus[top2]=plus[top2]+sta2[top2]+sta1[top1]-10;
    					int ttop2=top2;
    					plus[--ttop2]+=1;
    				}
    				else
    				{
    					plus[top2]+=sta2[top2]+sta1[top1];
    				}
    				top2--;
    			}
    		}
    		cout << "-";
    		for(int i=0; i<=strlen(num2); i++)
    		{
    			if(i==0&&plus[i]==0)
    			{
    				continue;
    			}
    			else if(i==strlen(num2)&&plus[i]==0)
    			{
    				continue;
    			}
    			cout << plus[i];
    		}
    	}
    	else
    	{
    		while(top1>0)
    		{
    			if(sta1[top1]+sta2[top2]<10)
    			{
    				if(plus[top1]+sta1[top1]+sta2[top2]>=10)
    				{
    					plus[top1]=plus[top1]+sta1[top1]+sta2[top2]-10;
    					int ttop3=top1;
    					plus[--ttop3]+=1;
    				}
    				else
    				{
    					plus[top1]+=sta1[top1]+sta2[top2];
    				}
    			}
    			else if(sta1[top1]+sta2[top2]>=10)
    			{
    				plus[top1]+=sta1[top1]+sta2[top2]-10;
    				int ttop3=top1;
    				plus[--ttop3]+=1;
    			}
    			top1--,top2--;
    		}
    		cout << "-";
    		for(int i=0; i<=strlen(num1); i++)
    		{
    			if(i==0&&plus[i]==0)
    			{
    				continue;
    			}
    			else if(i==strlen(num1)&&plus[i]==0)
    			{
    				continue;
    			}
    			cout << plus[i];
    		}
    	}
    	cout << endl;
    }
    void zfBigPlus(char num1[10000],char num2[10000],bool flag1,bool flag2)
    {
    	int sta1[10005],sta2[10005],top1=0,top2=0;
    	if(flag1)
    	{
    		int ns1=strlen(num1)-1;
    		int ns2=strlen(num2);
    		if(ns1>ns2)
    		{
    			for(int i=0; i<strlen(num1); i++)
    			{
    				if(i==0&&num1[i]=='-')
    				{
    					continue;
    				}
    				top1++;
    				sta1[top1]=num1[i]-'0';
    			}
    			for(int i=0; i<strlen(num2); i++)
    			{
    				top2++;
    				sta2[top2]=num2[i]-'0';
    			}
    			cout << '-';
    			numReduce(sta1,sta2,top1,top2);
    		}
    		else if(ns2>ns1)
    		{
    			for(int i=0; i<strlen(num2); i++)
    			{
    				top2++;
    				sta2[top2]=num2[i]-'0';
    			}
    			for(int i=0; i<strlen(num1); i++)
    			{
    				if(i==0&&num1[i]=='-')
    				{
    					continue;
    				}
    				top1++;
    				sta1[top1]=num1[i]-'0';
    			}
    			numReduce(sta2,sta1,top2,top1);
    		}
    		else if(ns1==ns2)
    		{
    			int dns=-1;//0代表num1大,1代表num2大,-1达标num1=num2
    			for(int i=0; i<ns1; i++)
    			{
    				if(num2[i]<num1[i+1])
    				{
    					dns=0;
    					break;
    				}
    				else if(num1[i+1]<num2[i])
    				{
    					dns=1;
    					break;
    				}
    			}
    			if(dns==-1)
    			{
    				cout << 0 << endl;
    			}
    			else if(dns==0)
    			{
    				for(int i=0; i<strlen(num1); i++)
    				{
    					if(i==0&&num1[i]=='-')
    					{
    						continue;
    					}
    					top1++;
    					sta1[top1]=num1[i]-'0';
    				}
    				for(int i=0; i<strlen(num2); i++)
    				{
    					top2++;
    					sta2[top2]=num2[i]-'0';
    				}
    				cout << '-';
    				numReduce(sta1,sta2,top1,top2);
    			}
    			else if(dns==1)
    			{
    				for(int i=0; i<strlen(num1); i++)
    				{
    					if(i==0&&num1[i]=='-')
    					{
    						continue;
    					}
    					top1++;
    					sta1[top1]=num1[i]-'0';
    				}
    				for(int i=0; i<strlen(num2); i++)
    				{
    					top2++;
    					sta2[top2]=num2[i]-'0';
    				}
    				numReduce(sta2,sta1,top2,top1);
    			}
    		}
    	}
    	else if(flag2)
    	{
    		int ns1=strlen(num1);
    		int ns2=strlen(num2)-1;
    		if(ns1>ns2)
    		{
    			for(int i=0; i<strlen(num2); i++)
    			{
    				if(i==0&&num2[i]=='-')
    				{
    					continue;
    				}
    				top2++;
    				sta2[top2]=num2[i]-'0';
    			}
    			for(int i=0; i<strlen(num1); i++)
    			{
    				top1++;
    				sta1[top1]=num1[i]-'0';
    			}
    			numReduce(sta1,sta2,top1,top2);
    		}
    		else if(ns2>ns1)
    		{
    			for(int i=0; i<strlen(num1); i++)
    			{
    				top1++;
    				sta1[top1]=num1[i]-'0';
    			}
    			for(int i=0; i<strlen(num2); i++)
    			{
    				if(i==0&&num2[i]=='-')
    				{
    					continue;
    				}
    				top2++;
    				sta2[top2]=num2[i]-'0';
    			}
    			cout << '-';
    			numReduce(sta2,sta1,top2,top1);
    		}
    		else if(ns1==ns2)
    		{
    			int dns=-1;//0代表num1大,1代表num2大,-1代表num1=num2
    			for(int i=0; i<ns1; i++)
    			{
    				if(num2[i+1]>num1[i])
    				{
    					dns=1;
    					break;
    				}
    				else if(num1[i]>num2[i+1])
    				{
    					dns=0;
    					break;
    				}
    			}
    			if(dns==-1)
    			{
    				cout << 0 << endl;
    			}
    			else if(dns==0)
    			{
    				for(int i=0; i<strlen(num1); i++)
    				{
    					top1++;
    					sta1[top1]=num1[i]-'0';
    				}
    				for(int i=0; i<strlen(num2); i++)
    				{
    					if(i==0&&num2[i]=='-')
    					{
    						continue;
    					}
    					top2++;
    					sta2[top2]=num2[i]-'0';
    				}
    				numReduce(sta1,sta2,top1,top2);
    			}
    			else if(dns==1)
    			{
    				for(int i=0; i<strlen(num1); i++)
    				{
    					top1++;
    					sta1[top1]=num1[i]-'0';
    				}
    				for(int i=0; i<strlen(num2); i++)
    				{
    					if(i==0&&num2[i]=='-')
    					{
    						continue;
    					}
    					top2++;
    					sta2[top2]=num2[i]-'0';
    				}
    				cout << '-';
    				numReduce(sta2,sta1,top2,top1);
    			}
    		}
    	}
    }
    void init(int a)
    {
    	if(!(a==1))
    	{
    		cout << endl << endl;
    	}
    	cout << "By JakeHao,Copyright 2023" << endl;
    	char num1[10000],num2[10000];
    	bool flag1=true,flag2=true;
    	bool f1=false,f2=false;
    	cout << "输入两个数字,中间用空格隔开: " << endl;
    	cin >> num1 >> num2;
    	for(int i=0; i<strlen(num1); i++)
    	{
    		if(i==0&&num1[i]=='-')
    		{
    			f1=true;
    			continue;
    		}
    		if((num1[i]<'0'||num1[i]>'9'))
    		{
    			flag1=false;
    		}
    	}
    	for(int i=0; i<strlen(num2); i++)
    	{
    		if(i==0&&num2[i]=='-')
    		{
    			f2=true;
    			continue;
    		}
    		if((num2[i]<'0'||num2[i]>'9'))
    		{
    			flag2=false;
    		}
    	}
    	if((!flag1)||(!flag2))
    	{
    		cout << endl << "输入的内容非数字!无法相加!" << endl;
    	}
    	else if(flag1&&flag2)
    	{
    		cout << endl << "和: ";
    		if((!f1)&&(!f2))
    		{
    			zBigPlus(num1,num2);
    		}
    		else if(f1&&f2)
    		{
    			fBigPlus(num1,num2);
    		}
    		else if(f1)//num1为负数
    		{
    			zfBigPlus(num1,num2,true,false);
    		}
    		else if(f2)//num2为负数
    		{
    			zfBigPlus(num1,num2,false,true);
    		}
    	}
    }
    
  • 通过的题目

  • 最近活动

    This person is lazy and didn't join any contests or homework.
  • 最近编写的题解

    This person is lazy and didn't write any solutions.

题目标签

客观题
1