1001.A+B Format (20)

github上的object-roiented链接 https://github.com/a877306134/object-oriented/tree/master/1001.A%2BB

思路过程

我是这样想的:先总和判断所输入的的数的正负,标记后再把这个数绝对值化;然后判断位数,确定这串数字需要几个逗号,比如如果是3位数,不需要逗号,6位数只需要一个逗号:接下就是一个循环,让这个数与1000求余数,余数放在一个数组里,然后让这个数扣掉余数再除以1000;最后输出是先判断正负,然后让这个数组倒序输出,不过要注意除了第一个,其他数都要以3位整数的方式输出。

下面这个是有瑕疵的代码

#include<stdio.h>
#include<math.h>
int main()
{
long a,b;
int c[8],s=1,i,j;
scanf("%ld %ld",&a,&b);
a+=b;
if(a<0) s=0;
a=abs(a);
for(i=1;a>pow(10,i);i++);
if(i<=3)i=1;
else if(i<=6)i=2;
else if(i>=7)i=3;
for(j=0;j<i;j++)
{
c[j]=a%1000;
a=(a-c[j])/1000;
}
for(j=i-1;j>-1;j--)
{
if(s==0)
{
s=1;
printf("-");
}
if(j==i-1)printf("%d",c[j]);
else printf("%03d",c[j]);
if((i-j)!=i)
printf(",");
}
return 0;
}

结果是

错了一个,我另外测试了好几组数据,都没有错,不知道自己错在哪里。就在我不知道如何做的时,我灵机一动,测试一组数据,999+1,输出结果是

本来应该是1,000 但是却变成0.我于是在测试位数那里加上一条printf,输出位数,再用999+1测试,测试完发现输出位数是3位,于是我就发现在判断位数那个循环上有问题,果不其然,循环中间烧掉了一个“=”号,我加上去后再用999+1测试就可以了。最后提交的代码是

#include<stdio.h>
#include<math.h>
int main()
{
long a,b;
int c[8],s=1,i,j;
scanf("%ld %ld",&a,&b);
a+=b;
if(a<0) s=0;
a=abs(a);
for(i=1;a>=pow(10,i);i++);
if(i<=3)i=1;
else if(i<=6)i=2;
else if(i>=7)i=3;
for(j=0;j<i;j++)
{
c[j]=a%1000;
a=(a-c[j])/1000;
}
for(j=i-1;j>-1;j--)
{
if(s==0)
{
s=1;
printf("-");
}
if(j==i-1)printf("%d",c[j]);
else printf("%03d",c[j]);
if((i-j)!=i)
printf(",");
}
return 0;
}

在OJ上的结果是

A+B Format的更多相关文章

  1. Spring resource bundle多语言,单引号format异常

    Spring resource bundle多语言,单引号format异常 前言 十一假期被通知出现大bug,然后发现是多语言翻译问题.法语中有很多单引号,单引号在format的时候出现无法匹配问题. ...

  2. c# 字符串连接使用“+”和string.format格式化两种方式

    参考文章:http://www.liangshunet.com/ca/201303/218815742.htm 字符串之间的连接常用的两种是:“+”连接.string.format格式化连接.Stri ...

  3. PAT甲级 1001. A+B Format (20)

    题目原文: Calculate a + b and output the sum in standard format -- that is, the digits must be separated ...

  4. Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define ...

    Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define ... 这个错误是因为有两个相 ...

  5. 【转】string.Format对C#字符串格式化

    转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...

  6. VBA 格式化字符串 - Format大全

    VBA 格式化字符串 VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归 ...

  7. [Erlang 0111] Erlang Abstract Format , Part 2

       上回书,我们说到飞天玉虎蒋伯芳来到蜈蚣岭,不是,重来,上回咱们说到可以在Erlang Shell里面手工构造,加载并调用一个模块.在那个demo里面,我把多个Form单独生成出来,最后放在一起做 ...

  8. [Erlang 0110] Erlang Abstract Format , Part 1

    Erlang Abstract Format并不难懂,只是枯燥一点罢了,如果把Abstract Format的文档翻译出来,其实就是Erlang教科书中语法入门的部分. Erlang Abstract ...

  9. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  10. Python中用format函数格式化字符串

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 语法:%[( ...

随机推荐

  1. vue指令v-else-if示例解析

    表示 v-if 的 "else if 块".可以链式调用. <div id="app"> <p v-if="isRender&quo ...

  2. 从用eclipse还是idea所想到的

    最近一直在用idea做开发,刚开始用起来还是不熟,毕竟上次用idea还是研三在某知名互联网实习的时候,在学校和上家公司都用的是eclipse,然后就想,为什么有的公司用eclipse,有的公司用ide ...

  3. C#+HtmlAgilityPack—>糗事百科桌面版V2.0

    最近在浏览以前自己上传的源码,发现在糗事百科桌面端源码评论区中,有人说现在程序不能用了.查看了一下源码运行情况,发现是正则表达式解析问题.由于糗百的网页版链接和网页格式稍有变化,导致解释失败.虽然可以 ...

  4. Vue组件选项props

    前面的话 组件接受的选项大部分与Vue实例一样,而选项props是组件中非常重要的一个选项.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过 props ...

  5. Mac terminal commands

    Mac terminal commands 1.install_name_tool修改dylib安装名称的命令 2.codesign 签名及查看 3.xcode 工程编译 4.程序打包app---&g ...

  6. Java面经 面试经验 互联网公司面试经验 后端面试经验

    应聘相关 声明: 1,程序员相关的哈 2,万事无定论,比如说,就算你小学毕业,但是java基础却扎实到变态,我相信open的公司还是会给你机会的. 3,心态很重要,虽然日常的心态不容易控制,面试那俩小 ...

  7. Masonry1.0.2 源码解析

    在了解Masonry框架之前,有必要先了解一下自动布局的概念.在iOS6之前,UI布局的方式是通过frame属性和Autoresizing来完成的,而在iOS6之后,苹果公司推出了AutoLayout ...

  8. Ransom Note(383)

    题目:Given an arbitrary ransom note string and another string containing letters from all the magazine ...

  9. 将Windows系统默认的Administrator帐号改名为我们自定义的名称

    将Windows系统默认的Administrator帐号改名为我们自定义的名称.. ---------如何将Administrator帐号改名为我们自定义的名称:Win+R--->>输入g ...

  10. 常用路径 URL 中的斜杠与反斜杠

    常用路径中的斜杠与反斜杠... ------------------------------ 斜杠:反斜杠:======================电脑能识别的斜杠有两种:斜杠分正斜杠(forwa ...