转跳点:

1001 A+B Format (20分)
 

Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).

Input Specification:

Each input file contains one test case. Each case contains a pair of integers a and b where −10​6​​≤a,b≤10​6. The numbers are separated by a space.

Output Specification:

For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.

Sample Input:

-1000000 9
 

Sample Output:

-999,991

  这道题的意思是,将A+B 两个数相加,且 A B两个数 限制为 −10​6​​≤a ,b≤10​,然后按照国际标准给数字填上,我偷了个懒, A, B整型输入, 和存储在字符串里,然后%c一个个输出
这里需要注意几个输出点:
  1.   最后一位,不需要判断
  2.   如果和小于0,那么需要跳过‘-’
  3.   注意数组大小,记得考虑进位和‘\0’以及‘-’

AC代码如下:

−10​6​​≤a,b≤10​6#include <stdio.h>
#include <stdlib.h>
#include <string.h> int main(void)
{
char str[9];
int A, B; scanf("%d %d", &A, &B);
sprintf(str, "%d", (A + B));
int len = strlen(str); for (int i = 0; i < len; i++)
{
printf("%c", str[i]);
if (len - 1 == i || '-' == str[i])
{
continue;
}
if (0 == (len - 1 - i) % 3)
{
printf(",");
}
} return 0;
}

C++版本:

  我找到了一个库<sstream>这个库实现了sprintf的功能比sprintf更加安全具体使用方法,看这篇博客U•ェ•*U

#include <iostream>
#include <sstream> using namespace std; int main()
{
int A, B;
cin >> A >> B; stringstream sStream;
sStream << A + B; //将A+B的和放入stringstream的缓存区域
string s(sStream.str()); //将sStream里的值按照某种数据格式写入s里
//这个过程类似于sprintf() int cnt = 0;
for (string::iterator it = s.end() - 1; it != s.begin(); --it)
{//string内置的迭代器
(++cnt) %= 3;
if (cnt == 0 && !((it - s.begin() == 1) && s.front() == '-'))
{
s.insert(it, ',');
}
} cout << s << endl; return 0;
}

更新:2020-02-18 14:12:18

  最近在学Python,思考了一波,嗯,python大法好啊,不过我还是热衷于C/C++

a, b = map(int, input().split())   #format函数
print(format(a+b, ','))        #format函数内置了对于整型的格式化

 PAT不易,诸君共勉

P1001 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 ...

随机推荐

  1. Java笔记 02-LinkedList

    介绍:List 接口的链接列表实现.实现所有可选的列表操作,并且允许所有元素(包括 null).除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get.remove 和 i ...

  2. 给服务添加路由--ingress

    kind: NamespaceapiVersion: v1metadata:  name: demo-webshell  generateName: demo-webshell  labels:    ...

  3. 吴裕雄--天生自然Numpy库学习笔记:NumPy Ndarray 对象

    NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引. ndarray 对象是用于存放同类型元素的多维数组. ndarr ...

  4. 802.1X基本配置

    基本的802.1X部署工作包括以下4步:    1. 为Cisco Catalyst交换机配置802.1X认证方    2. 为交换机配置访客VLAN或者受限VLAN,并调整802.1X定时器(可选) ...

  5. MAC系统 - 基础知识

    一.基础操作 设置:触控板设置 - >学习具体手势 手势:MacBook Pro手势大全必学手势触控板手势有哪些 左键,右键,滑屏,切换到应用... 一指操作: 一指敲击:鼠标左键: 一指按下: ...

  6. vue 项目中的less

    收先要在cmd中运行 npm install less less-loader --save 然后会在 moudules文件夹中生成less 和less-loader <style lang=& ...

  7. PSP第二次总结

    项目计划总结: 姓名:李志强 日期:2017/12/06   听课 编程 阅读课本 准备考试     日总计 周日11.26               周一   100         100 周二 ...

  8. 动态代理Cglib

    jar包 <!-- https://mvnrepository.com/artifact/cglib/cglib --><dependency> <groupId> ...

  9. Servlet 学习(七)

     ServletConfig 1.定义 ServletConfig接口:servlet容器在初始化期间将信息传递给servlet的servlet配置对象 代表当前Servlet在web.xml中的配置 ...

  10. SpringBoot之日志记录-专题四

    SpringBoot之日志记录-专题四 六.日志管理 6.1使用log4j记录日志 6.1.2新建log4j配置文件 文件名称log4j.properties #log4j.rootLogger=CO ...