Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

10700 - Camel trading

$
0
0
描述:先加后乘还是先乘后加问题,注意要用long long int
#include <cstdio>
#include <cstdlib>
#include <cstring>
char s[1010];
int main()
{
   // freopen("a.txt","r",stdin);
    int n;
    scanf("%d\n",&n);
    while(n--)
    {
        gets(s);
        long long int num_min[100],num_max[100];
        int max=0,min=0,flag=0;
        int len=strlen(s);
        for(int i=0; i<len; i++)
            if(s[i]>='0'&&s[i]<='9')
            {
                int c=0,j;
                for( j=i; j<len; j++)
                    if(s[j]>='0'&&s[j]<='9') c=c*10+s[j]-'0';
                    else  break;
                i=j-1;
                if(!flag)
                {
                    num_max[max++]=c;
                    num_min[min++]=c;
                }
                else if(flag==1)
                {
                    num_min[min++]=c;
                    num_max[max-1]=num_max[max-1]+c;
                }
                else if(flag==2)
                {
                    num_max[max++]=c;
                    num_min[min-1]=num_min[min-1]*c;
                }
            }
            else if(s[i]=='+') flag=1;
            else if(s[i]=='*') flag=2;
        for(int i=1; i<max; i++)
            num_max[0]=num_max[0]*num_max[i];
        for(int i=1; i<min; i++)
            num_min[0]=num_min[0]+num_min[i];
        printf("The maximum and minimum are %lld and %lld.\n",num_max[0],num_min[0]);
    }
    return 0;
}

作者:moyan_min 发表于2013-3-18 23:52:50 原文链接
阅读:43 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>