• 字符串解析运用-将字符串分解为多个整数,求各整数之和(华为oj)


    描述

    输入内容是一个字符串,输出结果为一个字符串。
    要求在输入的字符串中识别出多个整数单元,并且对各个整数单元求和运算,最终输出一个字符串,输出的字符串内容是对各个整数单元求和的结果。
    两个整数单元之间以空格分隔,每个整数单元可能为正整数,也可能为负整数,负整数的负号在整数的最前面且与整数间不插入任何字符。在输入的字符串中只可能出现数字字符、正负号、小数点和空格。

    知识点 字符串,循环,数组
    运行时间限制 10 Sec
    内存限制 128 MByte
    输入

    输入一个字符串,(长度小于100有输入者保证)

    因输入的字符串都是标准十进制数,可能存在小数部分,在整数识别时需要舍弃小数部分;在运算过程中出现任何错误返回空字符串;

    输出

    各个整数单元之和的字符串

    样例输入
    654.12 -321
    样例输出
    333
     1 #include <iostream>
     2 #include <string>
     3 #include <cstdlib>
     4 
     5 #define M 101
     6 using namespace std;
     7 
     8 
     9 int main(){
    10     char m[M], n[M];
    11     long l1, l2, sum;
    12     int count_m = 0, count_n =0;
    13     scanf("%s %s", m, n);
    14     //puts(m);
    15     //puts(n);
    16     if (strlen(m) == 1 && (*m == '.' || *m == '+' || *m == '-'))
    17         return NULL;
    18     if (strlen(n) == 1 && (*n == '.' || *n == '+' || *n == '-'))
    19         return NULL;
    20     for (int i = 1; i < strlen(m); i++){
    21         while (m[i] == '+' || m[i] == '-')
    22             return NULL;
    23     }
    24     for (int i = 1; i < strlen(n); i++){
    25         while (n[i] == '+' || n[i] == '-')
    26             return NULL;
    27     }
    28     for (int i = 0; i < strlen(m); i++){
    29         if (m[i] == '.'){
    30             count_m++;
    31             if (count_m == 2)
    32                 return NULL;
    33         }    
    34     }
    35     for (int i = 0; i < strlen(n); i++){
    36         if (n[i] == '.'){
    37             count_n++;
    38             if (count_n == 2)
    39                 return NULL;
    40         }
    41     }
    42     l1 = atol(m);
    43     l2 = atol(n);
    44     //cout << l1 << " " << l2 << endl;
    45     sum = l1 + l2;
    46     cout << sum << endl;
    47 
    48     system("pause");
    49     return 0;
    50 }
  • 相关阅读:
    贪心算法解汽车加油站问题
    Kickstart Practice Round 2017---A
    win8.1系统下安装ubuntu实现双系统实践教程
    2017年1月15日--牛客网
    想写点什么而已
    Java中this和super的用法总结
    数据库练习(16年12月27日)-- 牛客网
    Technical Development Guide---for Google
    Java 自动装箱与拆箱(Autoboxing and unboxing)
    [LeetCode] Department Highest Salary -- 数据库知识(mysql)
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5337932.html
Copyright © 2020-2023  润新知