• 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().

  • 相关阅读:
    [APIO2016]划艇
    C# 循环的判断会进来几次
    C# 性能分析 反射 VS 配置文件 VS 预编译
    C# 性能分析 反射 VS 配置文件 VS 预编译
    AutoHotKey 用打码的快捷键
    AutoHotKey 用打码的快捷键
    C# 通过编程的方法在桌面创建回收站快捷方式
    C# 通过编程的方法在桌面创建回收站快捷方式
    C# 条件编译
    C# 条件编译
  • 原文地址:https://www.cnblogs.com/wshyj/p/6337249.html
Copyright © 2020-2023  润新知