PAT甲级1001

该博客主要介绍了PAT甲级题1001的解题思路和代码实现,题目要求计算两个整数的和,并以每三位一组的形式输出,输出时高位数字前不加逗号,低位数字间用逗号隔开。博主分享了如何通过C++编程解决此问题,包括将计算结果存储到数组,然后从高位到低位输出并动态插入逗号的逻辑。
摘要由CSDN通过智能技术生成

  1. 首先用“%”和“/”把计算结果保存到数组里,
  2. 然后从高位开始输出,在输出的同时数数,还剩3位或者6位时加“,”。

1001 A+B Format

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≤106 . 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

Sample Output:

-999,991

代码

#include <iostream>
#include<bits/stdc++.h>
using namespace std;

int main() {
    // insert code here...
    
    int a;
    int b,sum,i=0,n=0;
    int e[7];
    cin>>a>>b;
    sum=a+b;
    if(sum==0)//如果sum=0的话,就直接输出
    {
        cout<<sum;
    }
    while(sum!=0)
    {
        if(sum<0)
        {
            cout<<'-';
            sum=-sum;
        }
        e[i]=sum%10;//从低位到高位赋值给e[i]
        sum=sum/10;
        n++;
        i++;
    }
    /*
        这里我想了好久:
        1、输出的时候要从后往前数3个数,然后加“,”,为了方便,令i=0开始输出,输出的时候e[n-i-1],然后数到还剩3个或者6个数时加“,”;
        2、sum是3位数或者6位数的时候不能输出“,”,为了防止在n=3或者n=6时首先输出逗号变成“,999,999”,所以,i=0时不输出“,”;
        */
    for(i=0;i<n;i++)
    {
        if((n-i)%3==0 && i!=0)
        
        {
            cout<<',';
        }
        cout<<e[n-i-1];
    }

    return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值