zoukankan      html  css  js  c++  java
  • 杭电OJ-2054_A == B ?

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 76226    Accepted Submission(s): 12101


    Problem Description
    Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
     
    环境:
    第一次在ubuntu下用VSCode编辑,g++编译;

    调了3个小时,到最后都没ac的一题(找不出哪错了)。我写在这记录一下

    1.一开始的时候去掉浮点数的后面的无效0,若小数点后面全是0,则小数点一起去掉(WA)

    2.去掉前导0(WA)

    3.假设前面有符号(WA)

    4.以为数组开小了,改成bank[1000005]。(WA)

    5.崩溃了,过段时间再来看吧。

    代码如下,求大神指导

    #include<iostream>
    using namespace std;
    char bank1[1000005],bank2[1000005];
    int x,y;
    int change(char *bank)
    {
    	bool sign=false;
    	int i;
    	for(i=0;;i++)					//fu dian shu pan duan
    	{
    		if(bank[i]=='')
    			break;
    		else if(bank[i]=='.')
    			sign=true;
    	}
    	if(sign)						//qu chu xiao shu dian hou mian 0
    	{
    		for(int j=i-1;j>=0;j--)
    		{
    			if(bank[j]=='0'||bank[j]=='.')
    				bank[j]='';
    			else
    				break;
    		}
    	}
    	int a=0;
    	for(int i=0;;i++)					//qu chu qian dao 0 he + -
    	{
    		if(bank[i]=='0'||bank[i]=='+'||bank[i]=='-')
    		 a++;
    		 else
    		 break;
    	}
    	//cout<<a<<endl;
    	return a;
    }
    
    
    int main()
    {
    	while(cin>>bank1>>bank2)
    	{
    			bool sign=true,sign1=false;
    			x=change(bank1);
    			y=change(bank2);
    			//cout<<bank1<<endl;
    			//cout<<bank2<<endl;		
    			for(int i=x,j=y;;i++,j++)
    			{
    				if(bank1[i]=='')
    				{
    					if(bank2[i]!='')
    						sign=false;
    					break;
    				}
    				if(bank1[i]!=bank2[j])
    				{
    					//cout<<"12:"<<bank1[i]<<bank2[i]<<endl;
    					sign=false;
    				}	
    			}
    			//cout<<sign<<endl;
    			if(bank1[0]==bank2[0])
    				sign1=true;
    			else if(bank1[0]=='+'&&bank2[0]>='0'&&bank2[0]<='9') 
    				sign1=true;
    			else if(bank2[0]=='+'&&bank1[0]>='0'&&bank2[0]<='9')
    				sign1=true;
    			cout<<(sign&&sign1?"YES":"NO")<<endl;
    	}
    }




  • 相关阅读:
    学习bootsect.s中经常会问到的问题
    c++资源之不完全导引(全文) (转载)
    bootsect.S (读核笔记系列)
    WAP开发FAQ
    学习使用groovy(翻译稿之第一章)
    "革命尚未成功,同志仍需努力!"
    JAVA中this用法小结(转)
    Android <Button>样式的设置方法
    最新SDK android开发环境搭建
    Android中的数据存取(一)Preference
  • 原文地址:https://www.cnblogs.com/A-yes/p/9894243.html
Copyright © 2011-2022 走看看