zoukankan      html  css  js  c++  java
  • L1-025. 正整数A+B

    本题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。

    输入格式:

    输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字负数、带小数点的实数、甚至是一堆乱码

    注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。

    输出格式:

    如果输入的确是两个正整数,则按格式“A + B = 和”输出。如果某个输入不合要求,则在相应位置输出“?”,显然此时和也是“?”。

    输入样例1:

    123 456
    

    输出样例1:

    123 + 456 = 579
    

    输入样例2:

    22. 18
    

    输出样例2:

    ? + 18 = ?
    

    输入样例3:

    -100 blabla bla...33
    

    输出样例3:

    ? + ? = ?

    分析:

        #include<stdio.h>
        int convert(const char *str)
        {
            int sum=0;
            int i;
            for(i=0;str[i]!='';i++)
            {
                if(str[i]>='0' && str[i]<='9')
                    sum=sum*10+str[i]-'0';
                 else
                    return -1;
    
            }
            if(sum>=1 && sum<=1000)
                return sum;
            else
                return -1;
        }
        int main()
        {
            char A[10000],B[10000];
            int a,b;
            scanf("%s ",&A);
            gets(B);
            a=convert(A);
            b=convert(B);
            if(a==-1)
                printf("? + ");
            else
                printf("%d + ",a);
             if(b==-1)
                printf("? = ");
            else
                printf("%d = ",b);
            if(a==-1||b==-1)
                printf("?
    ");
            else
                printf("%d
    ",a+b);
            return 0;
    
        }

    总结:首先简单想,并不一定用到抛出异常

  • 相关阅读:
    JS 中如何判断字符串类型的数字
    使用script的src实现跨域和类似ajax效果
    JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)
    IOS上架截屏 屏幕快照
    IOS 证书失效
    80端口占用
    PHP环境 PDOException PDOException: could not find driver
    分布式部署
    AES 加密算法 跨语言
    AES 加密填充 PKCS #7
  • 原文地址:https://www.cnblogs.com/kimsimple/p/6456067.html
Copyright © 2011-2022 走看看