简单题,但要考虑一些细节:

前导0不要,后导0不要,小数长度不一样时,有进位时,逆置处理输出

然后处理起来就比较麻烦了。

题目链接

我的代码纯模拟,把小数点前后分开来处理,写的很繁杂,纯当纪念——可怜我的眼睛。

#include<string.h>
#include<stdio.h>
int i,la,lb,la1,lb1,la2,lb2,lc1,lc2,yi,temp;
char a[],b[],a1[],a2[],b1[],b2[],c1[],c2[];
void nizhi1(){
int le=la1/;
char c;
for(int i=;i<le;i++){
c=a1[i];a1[i]=a1[la1--i];a1[la1--i]=c;
}
}
void nizhi2(){
int le=la2/;
char c;
for(int i=;i<le;i++){
c=a2[i];
a2[i]=a2[la2--i];
a2[la2--i]=c;
}
}
void nizhi3(){
int le=lb1/;
char c;
for(int i=;i<le;i++){
c=b1[i];
b1[i]=b1[lb1--i];
b1[lb1--i]=c;
}
}
void nizhi4(){
int le=lb2/;
char c;
for(int i=;i<le;i++){
c=b2[i];
b2[i]=b2[lb2--i];
b2[lb2--i]=c;
}
}
void nizhi5(){
int le=lc1/;
char c;
for(int i=;i<le;i++){
c=c1[i];
c1[i]=c1[lc1--i];
c1[lc1--i]=c;
}
}
void nizhi6(){
int le=lc2/;
char c;
for(int i=;i<le;i++){
c=c2[i];
c2[i]=c2[lc2--i];
c2[lc2--i]=c;
}
}
int main()
{ while(scanf("%s%s",a,b)!=EOF)
{
memset(a1,,sizeof(a1));
memset(a2,,sizeof(a2));
memset(b1,,sizeof(b1));
memset(b2,,sizeof(b2));
memset(c1,,sizeof(c1));
memset(c2,,sizeof(c2));
i=la=lb=la1=lb1=la2=lb2=lc1=lc2=yi=temp=;
la=strlen(a);
lb=strlen(b);
la1=la2=lb1=lb2=;
for(i=;i<la;i++)
{
if(a[i]=='.'||a[i]=='\0')
break;
a1[la1++]=a[i];
}
a1[la1]='\0';
nizhi1(); for(i=i+;i<la;i++)
{
a2[la2++]=a[i];
}
a2[la2]='\0';
nizhi2();
for(i=;i<lb;i++)
{
if(b[i]=='.'||b[i]=='\0')
break;
b1[lb1++]=b[i];
}
b1[lb1]='\0';
nizhi3();
for(i=i+;i<lb;i++)
{
b2[lb2++]=b[i];
}
b2[lb2]='\0';
nizhi4(); lc1=;
temp=;
yi=;
if(la2>lb2)
{
int cha=la2-lb2;
for(i=;i<cha;i++)
{
if(yi==&&a2[i]==''){}
else
{
yi=;
c1[lc1++]=a2[i];
}
}
for(i=;i<lb2;i++)
{
temp=temp+a2[i+cha]+b2[i]-''-'';
if(temp%==&&yi==){}
else
{
yi=;
c1[lc1++]=temp%+'';
}
temp=temp/;
}
}
else
{
int cha=lb2-la2;
for(i=;i<cha;i++)
{
if(yi==&&b2[i]==''){}
else
{
yi=;
c1[lc1++]=b2[i];
}
}
for(i=;i<la2;i++)
{
temp=temp+b2[i+cha]+a2[i]-''-'';
if(temp%==&&yi==){}
else
{
yi=;
c1[lc1++]=temp%+'';
}
temp=temp/;
}
}
c1[lc1]='\0'; if(la1>lb1)
{
for(i=;i<lb1;i++)
{
temp=temp+a1[i]+b1[i]-''-'';
c2[lc2++]=temp%+'';
temp=temp/;
}
for(;i<la1;i++)
{
temp=temp+a1[i]-'';
c2[lc2++]=temp%+'';
temp=temp/;
}
}
else
{
for(i=;i<la1;i++)
{
temp=temp+a1[i]+b1[i]-''-'';
c2[lc2++]=temp%+'';
temp=temp/;
}
for(;i<lb1;i++)
{
temp=temp+b1[i]-'';
c2[lc2++]=temp%+'';
temp=temp/;
}
}
if(temp!=)
c2[lc2++]=temp+'';
c2[lc2]='\0';
nizhi5();
nizhi6();
yi=;
for(i=;i<lc2;i++)
{
if(c2[i]==''&&yi==)
continue;
else
{
yi=;
printf("%c",c2[i]);
}
}
if(lc1!=)
{
printf(".%s",c1);
}
printf("\n");
}
return ;
}

HDU 1753 大明A+B(字符串模拟,简单题)的更多相关文章

  1. HDU 1753 大明A+B (大正小数加法、字符串处理)

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. hdu 1753 大明A+B

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1753 容易出错的事例: 0.1 0.2 1.88 22.22 1 0.01 大概出错的几个点,做久了思维根 ...

  3. hdu 1753 大明A+B(高精度小数加法)

    //深刻认识到自己的粗心,为此浪费了一天.. Problem Description 话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫"大明". 这时他已经不是 ...

  4. hdu 5083 有坑+字符串模拟水题

    http://acm.hdu.edu.cn/showproblem.php?pid=5083 机器码和操作互相转化 注意SET还要判断末5位不为0输出Error #pragma comment(lin ...

  5. hdu 1753 大明A+B(大数)

    题意:小数大数加法 思路:大数模板 #include<iostream> #include<stdio.h> #include<string.h> using na ...

  6. [BestCoder Round #3] hdu 4907 Task schedule (模拟简单题)

    Task schedule Problem Description 有一台机器,而且给你这台机器的工作表.工作表上有n个任务,机器在ti时间运行第i个任务,1秒就可以完毕1个任务. 有m个询问,每一个 ...

  7. HDU 5776 sum( 鸽巢定理简单题 )

    链接:传送门 题意:给一个长为 n 的串,问是否有子串的和是 m 的倍数. 思路:典型鸽巢定理的应用,但是这里 n,m 的大小关系是不确定的,如果 n >= m 根据定理可以很简单的判定是一定有 ...

  8. HDU 1028Ignatius and the Princess III(母函数简单题)

     Ignatius and the Princess III Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  9. hdu 2629 Identity Card (字符串解析模拟题)

    这题是一个字符串模拟水题,给12级学弟学妹们找找自信的,嘿嘿; 题目意思就是要你讲身份证的上的省份和生日解析出来输出就可以了: http://acm.hdu.edu.cn/showproblem.ph ...

随机推荐

  1. HyperMesh生成Flac3D的剖分网格

    本帖的目的是探索煤矿沉积岩层采煤过程中的力学分析模拟的前处理方法,计算软件采用公认的Flac3D差分方法. 目前,Flac3D官方提供的剖分网格的生成方法有三种.一是直接使用命令和Fish语句生成,这 ...

  2. Linux下OpenCV的环境搭建

    OpenCV is the most popular and advanced code library for Computer Vision related applications today, ...

  3. 【Newtonsoft.Json】Window Phone Json解析开发包

    WP从服务器.API交换数据一般都是用JSON格式字符串. 下面介绍用Newtonsoft.Json来处理JSON. 准备 1.到 http://json.codeplex.com/ 下载Newton ...

  4. PHP 判断客户端请求是 Android 还是 IOS

    <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'], 'iPad ...

  5. php下载文件的代码示例

    php下载文件的代码示例,需要的朋友可以参考下 <?php  $file = 'monkey.gif';  if (file_exists($file)) {  header('Content- ...

  6. 禁用cookie后

    服务器为某个访问者创建一个内存区域,这个就是所谓的session,这个区域的存在是有时间限制的,比如30分钟,这块区域诞生的时候,服务器会给这个区域分配一个钥匙,只有使用这个钥匙才能访问这个区域,这个 ...

  7. django - transaction

    def user_atomic(): User.objects.create(name='purk1', email='pwu1@maxprocessing.com') User.objects.cr ...

  8. Python-Day7 面向对象进阶/异常处理/Socket

    一.面向对象高级语法部分 1.静态方法     通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里 ...

  9. 关于C语言指针中的p++与p+i

    先看一组代码: #include <stdio.h> void main() { int i,*p,a[7]; p=a; for(i=0;i<7;i++) scanf("% ...

  10. 关于使用视图进行分页时出现当前记录集不支持书签的错误解决方法及原因(asp)

    一般在使用视图进行查询时,视图中意般都关联了两个或者更多个表,一般在这种情况下才会使用视图,但是但我在使用视图来查询数据时没有问题,但是一旦在分页中使用到视图进行查询就会出现错误提示如下: ADODB ...