zoukankan      html  css  js  c++  java
  • PAT A+B格式

    A + B格式(20)

    时间限制
    400毫秒
    内存限制
    65536 kB
    代码长度限制
    16000 B.
    判断程序
    标准
    作者
    陈,岳

    计算a + b并以标准格式输出总和 - 即数字必须用逗号分隔成三个组(除非有少于四个数字)。

    输入

    每个输入文件包含一个测试用例。每个案例包含一对整数a和b,其中-1000000 <= a,b <= 1000000。数字由空格分隔。

    输出

    对于每个测试用例,您应该在一行中输出a和b的和。总和必须以标准格式写入。

    样品输入
    -1000000 9
    
    示例输出
    -999,991


    最多只有7位数字 一共就三种可能 所以分类就好了
    # include<iostream>
    # include<string.h>
    using namespace std;
    int main()
    {
        int a,b,sum,i;
        char s[10];
        cin>>a>>b;
        sum = a + b;
        sprintf(s,"%d",sum);
        int len = strlen(s);
        if(sum>=0)
        {
            if(len<=3)
            {
                cout<<s;
            }
            else if(len>3 && len<=6)
            {
                for(i=0; i<=len-4;i++)
                {
                    cout<<s[i];
                }
                cout<<",";
                for(i=len-3;i<len;i++)
                {
                    cout<<s[i];
                }
            }
            else
            {
                for(i=0; i<=len-7;i++)
                {
                    cout<<s[i];
                }
                cout<<",";
                for(i=len-6;i<len-3;i++)
                {
                    cout<<s[i];
                }
                cout<<",";
                for(i=len-3;i<len;i++)
                {
                    cout<<s[i];
                }
            }
        }
        else
        {
            cout<<s[0];
            if(len<=4)
            {
                for(i=1;i<len;i++)
                {
                    cout<<s[i];
                }
            }
            else if(len>4 && len<=7)
            {
                for(i=1; i<=len-4;i++)
                {
                    cout<<s[i];
                }
                cout<<",";
                for(i=len-3;i<len;i++)
                {
                    cout<<s[i];
                }
            }
            else
            {
                for(i=1; i<=len-7;i++)
                {
                    cout<<s[i];
                }
                cout<<",";
                for(i=len-6;i<len-3;i++)
                {
                    cout<<s[i];
                }
                cout<<",";
                for(i=len-3;i<len;i++)
                {
                    cout<<s[i];
                }
            }
        }
        
        return 0;
    }

    1、数字转字符串:使用sprintf()函数

    char str[10];
    int a=1234321;
    sprintf(str,"%d",a);
    --------------------
    char str[10];
    double a=123.321;
    sprintf(str,"%.3lf",a);
    --------------------
    char str[10];
    int a=175;
    sprintf(str,"%x",a);//10进制转换成16进制,如果输出大写的字母是sprintf(str,"%X",a)

    2、字符串转数字:使用sscanf()函数

    char str[]="1234321";
    int a;
    sscanf(str,"%d",&a);
    .............
    char str[]="123.321";
    double a;
    sscanf(str,"%lf",&a);
    .............
    char str[]="AF";
    int a;
    sscanf(str,"%x",&a); //16进制转换成10进制

    另外也可以使用atoi(),atol(),atof().

  • 相关阅读:
    【动态规划】51nod1780 完美序列
    【树形dp】bzoj4726: [POI2017]Sabota?
    初涉manacher
    【数位dp】bzoj3131: [Sdoi2013]淘金
    【思维题 kmp 构造】bzoj4974: [Lydsy1708月赛]字符串大师
    web框架
    Bootstrap补充
    jQuery之jQuery扩展和事件
    JQuery之文档操作
    JQuery之属性操作
  • 原文地址:https://www.cnblogs.com/wshyj/p/6337249.html
Copyright © 2011-2022 走看看