#include<iostream>
#include<cstdio>
#include<math.h>
#include<queue>
#include<map>
#include<stdlib.h>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
typedef long long LL;
#define INF 0x3f3f3f3f
#define PI acos(-1.0) const int N=1e3+7;//这个就是数组的长度+7就是为了多几个,也没啥意思 //就是那个第三题...我知道不用while怎么做 但是一用while 就只能一直输入。。。 //就是用数组模拟一个大数加法。。。。。。。 int a[N];
int b[N]; // 不是 他可以实现一个模拟加法的过程,看着吧~~~
char s1[N]; //char是字符啊,char s[100]这样就是字符串数组。只有这样才能一串直接输入“12812123123124142124”随便都可以输入。
char s2[N];
//对你啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 void cunru(int len1,int len2)
{
int num=0;
memset(a,0,sizeof(a)); //这个的头文件是 <string.h>因为我懂你啊~~~不是鸟。。。。
memset(b,0,sizeof(b));
for(int i=len1-1;i>=0;i--){ // a
a[num++]=s1[i]-'0'; //懂不懂啊,你先说 因为存到字符串数组里去的字符有一个ASCII码,就是整形
}
num=0;
for(int i=len2-1;i>=0;i--){ // b
b[num++]=s2[i]-'0';
}
} /* 比如这两个,怎么模拟你说说,我现在的这两个已经是从各个位开始了 第一个a的个位是1,十位是2,以此类推,懂吧,b数组也一样。 12345618
89618919
到了最后我们在最高位=7,我们还要进位 ,但是我们已经跳出循环了
那么我们模拟
个位:9
十位:2+9=11 但是要进位,那么这一位就是 =11%10=1 对吧?% 这个你知道吧 取膜 就是取余 2%5=2 取商就是除啊 西西~~~那么还要进位,
但是他就算进位也才进一,就不管了,,所以我们标记一下要进位的时候就好了/ */
int ans[N]; //答案数组; 因为数组很大,所以定义在外面。全局变量嘛对赞!
void xixi_jiafa(int len1,int len2) //现在就是要模拟加法了~~~~
{
int num=0; //答案的长度
int flag,xixi; //用做标记的
int i,j; //a 的 b 的
flag=0; //因为一开始不用进位我们设为0,要进位的时候为 1
memset(ans,0,sizeof(ans)); //这个是赋予 0 ,ans里面每个位置都是 0
//两个长度取较大的那个。
for(i=0;i<max(len1,len2);i++) //可以理解么? 没事啊,到两个最长的地方,这个时候其实i,j是一样的,i,j都是同增的
{
if(!flag) //flag=0
{
xixi=a[i]+b[i]; //所以我们要把a,b数组赋予初值0,还没赋予
ans[num++]=xixi%10;
if(xixi/10>0){
flag=1;
}
}
else{ //需要进位;
xixi=a[i]+b[i]+1; //就加一了。
ans[num++]=xixi%10;
if(xixi/10>0){ //需要进位,
flag=1;
}
else{ //不需要进位;
flag=0; //前面不说这句话是因为前面的flag=0 这里可以不说flag=1;
}
}
} //最后我们还要判断一下。是不是还有问题。。。为什么呢,可能最后也需要进位
//我们的最高位是两个字符串的最高位 ,所以要是两个字符串的最高位相加还要进位。。。所以就要这样啊。
if(flag==1){ //懂么,if(!flag) :这个意思是flag==0 if(flag) :这个意思是flag不等于0 ; //以后你再偷懒。
ans[num++]=1; //OK,模拟结束; 就是最高位 +1 因为进位只能进 1 ,直接 =1 了
}
//按照格式输出;
//现在我们的ans 是从个位开始的。他的后面才是最高位,所以我们要从最高位输出;
//这里输出啊。。。
for(int i=num-1;i>=0;i--)
printf("%d",ans[i]); //什么声音????????????????????
//不对,他还有,。。输出要求 。。。。。。。。。不打了。
//没事啊,你放好l
//ok
//最后换个行就好了
printf("\n");
} int main()
{
int cnt=1;
int T;
scanf("%d",&T); //T组 那么也就是说最后一组后面不用输出空行。
while(T--)
{
//因为输入的话是2串数,对吧。我们又不能依靠int 或者 long long,所以只能用字符串输入方法
scanf("%s%s",s1,s2); //模拟一个加法,模拟每一位上的加法呀
int len1,len2;
len1=strlen(s1); //这个是字符串的测量长度的。
len2=strlen(s2); //我们这样输进去两个字符串,是正的,意思是 123456789输进去,那么 s2[len2-1]='9' 这个是个位。对吧? /*
这里的 1/5都是最高位,对~~~,但是呢我们的字符串又是把最低位在n-1,要倒一下,存入数组。你回家了?我怎么听到了碗筷的声音!!!
我来举个例子吧,s1:123456
s2:54789
这样;我们模拟 = 你看的懂么 */
//我现在写存到数组里面去;
cunru(len1,len2);
printf("Case %d:\n",cnt++); //cnt是代表第几组啊
printf("%s + %s = ",s1,s2);
xixi_jiafa(len1,len2); if(T!=0){
printf("\n");
}
}
return 0;
}

qq教xixi写模拟加法【非常爆炸】的更多相关文章

  1. 一个关于如何创建类似于QQ客户端聊天窗口的模拟小项目

    对于不久之前学习到的一个有关的类似于QQ聊天框的模拟项目,对其中涉及到的知识在这里做一下总结. 首先,你要先创建一个客户端聊天框(取名为:ChatClient,它是你创建的类),这个类继承了Frame ...

  2. 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...

  3. 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 手把手教你写电商爬虫-第三课 ...

  4. [原创]手把手教你写网络爬虫(5):PhantomJS实战

    手把手教你写网络爬虫(5) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 大家好!从今天开始,我要与大家一起打造一个属于我们自己的分布式爬虫平台,同时也会对涉及到的技术进行详细介绍.大 ...

  5. 网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接

    本文原作者:“水晶虾饺”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.引言 好多小白初次接触即时通讯(比如:IM或者消息推送应用)时,总是不 ...

  6. 手把手教你写基于C++ Winsock的图片下载的网络爬虫

    手把手教你写基于C++ Winsock的图片下载的网络爬虫 先来说一下主要的技术点: 1. 输入起始网址,使用ssacnf函数解析出主机号和路径(仅处理http协议网址) 2. 使用socket套接字 ...

  7. 大湿教我写程序(2)之走向AV之路

    一.大摆庆功宴 上一篇博文<大湿教我写程序(1)之菜单导航篇>中讲到了我撸码到晚上两点多,整出了一个还算是高端大气上档次的demo.半夜回到家里打算着可以好好睡上一个懒觉,到时候直接到客户 ...

  8. 手把手教你写Sublime中的Snippet

    手把手教你写Sublime中的Snippet Sublime Text号称最性感的编辑器, 并且越来越多人使用, 美观, 高效 关于如何使用Sublime text可以参考我的另一篇文章, 相信你会喜 ...

  9. 看过《大湿教我写.net通用权限框架(1)之菜单导航篇》之后发生的事(续)——主界面

    引言 在UML系列学习中的小插曲:看过<大湿教我写.net通用权限框架(1)之菜单导航篇>之后发生的事 在上篇中只拿登录界面练练手,不把主界面抠出来,实在难受,严重的强迫症啊.之前一直在总 ...

随机推荐

  1. push代码到github时,每次都要输入用户名和密码的问题

    问题原由 我在Github上 建立了一个小项目TauStreamingServer,可是在每次push代码 的时候,都要求输入用户名和密码,很是麻烦. 如何才能避免每次都输入用户名和密码呢? 解决办法 ...

  2. HDU 2317 Nasty Hacks

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  3. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  4. iOS 把数据库文件打包到mainbundle中,查找不到路径的解决的方法;以及在删除bundle中文件的可行性

    在开发中有时我们须要把数据库文件打包到我们的项目中.一般我们都是在外部用工具生成数据库文件,然后拉入项目中.可是我们在程序中查找改文件时.返回的路径总是nil 解决的方法: 原因我们拉入其它资源文件( ...

  5. iOS开发核心语言Objective C —— 面向对象思维、setter和getter方法及点语法

    本分享是面向有意向从事iOS开发的伙伴们.或者已经从事了iOS的开发人员.假设您对iOS开发有极高的兴趣,能够与我一起探讨iOS开发.一起学习,共同进步.假设您是零基础,建议您先翻阅我之前分享的iOS ...

  6. Android NDK JNI WARNING: illegal start byte 0x

    今天攻克了JNI WARNING: illegal start byte 0x81这个问题. 问题出现的现象是通过jni调用加密方法,调用之后返回密文内容,结果就出现这个问题. 在国外查找一段时间之后 ...

  7. 【转载】FAT12文件系统之引导扇区结构

    FAT12文件系统之引导扇区结构 文件系统即文件管理系统,是操作系统的重要组成部分之一,如果需要开发底层磁盘驱动或编写自己的操作系统,就必须详细了解文件系统. FAT12是Microsoft公司DOS ...

  8. C语言的一些特殊使用方法————————【Badboy】

    一:特殊的字符串宏 [cpp] #define A(x) T_##x #define B(x) #@x #define C(x) #x 我们如果x=1, 则上面的宏定义会被解释成下面的样子 A(1)- ...

  9. nginx、mysql、php等各编译参数查询

    查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 查看apache编译参数:cat /usr/local/apache2/build/config.nice 查看m ...

  10. YTU 2452: 麦克劳林用于函数求值

    2452: 麦克劳林用于函数求值 时间限制: 1 Sec  内存限制: 128 MB 提交: 18  解决: 12 题目描述 泰勒公式是一个用函数在某点的信息描述其附近取值的公式.如果函数足够光滑的话 ...