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. 关于Java JDK中 URLDecoder.decode 方法

    java.net.URLDecoder.decode 在项目中碰到了个比较奇怪的问题,就是我在本地使用java.net.URLDecoder.decode(ruleName)方法解码,没有问题,本地的 ...

  2. Go的类型断言解析

    经常地我们对一个接口值的动态类型是不确定的,如方法的形参为接口类型时,此时就需要检验它是否符合我们需要的类型.类型断言是一个使用在接口值上的操作.断言类型的语法:x.(T),这里x表示一个接口的类型, ...

  3. MySQL- 5.7 sys schema笔记

            如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!       performance_schema提供监 ...

  4. [算法题] 3Sum

    题目内容 题目来源:LeetCode Given an array S of n integers, are there elements a, b, c in S such that a + b + ...

  5. Linux删除其他程序正在使用的文件

    今天在逛论坛时发现网友提的一个问题: 今天做实验发现,当前活动日志丢失后,数据库居然还可以正常写数据,还可以正常提交,如果是ORACLE,这个时候数据库已经崩溃了,很奇怪DB2这个时候把事务写到哪儿去 ...

  6. 云计算之openstack mitaka 配置详解(将疑难点都进行划分)

    在配置openstack项目时很多人认为到处是坑,特别是新手,一旦进坑没有人指导,身体将会感觉一次次被掏空,作为菜鸟的我也感同身受,因为已经被掏空n次了. 以下也是我将整个openstack配置过程进 ...

  7. Go语言的切片

    Go 语言切片(Slice) Go 语言切片是对数组的抽象. Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组" ...

  8. js获取select下拉框选中的的值和判断checkbox是否选中状态

    html: <select id="lib_select"  name="">   <option   value="1" ...

  9. 【转】控制台,终端,tty,shell等概念的区别

    转自:http://www.2cto.com/os/201403/282583.html http://blog.sina.com.cn/s/blog_bcdac52b0101i2r1.html 控制 ...

  10. C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 本篇..基 ...