nyoj-1071 不可以!【水】

不可以!

時間限制:1000 ms  |  內存限制:65535 KB
難度:1
描述

判斷:兩個數x、y的正負性。

要求:不可以使用比較運算符,即"<",">","<=",">=","==","!="

輸入
有多組數據,每組數據佔一行,每一行兩個數x,y。
x、y保證在int範圍內。
輸出
每組數據輸出佔一行。
如果兩個數是一正一負,輸出"Signs are opposite"
如果是同爲正或同爲負,輸出"Signs are not opposot"
如果無法確定,輸出"Signs can't be sure"
輸出不包括引號
樣例輸入
1 1
-1 1
樣例輸出
Signs are not opposot
Signs are opposite

題目解析:

判斷兩數的符號:

1.乘積:兩者相乘>0,符號相同,<0相反,兩者都不滿足時不能確定

2.絕對值:x!=的前提下,x+|x|>0,x爲正數,否則是負數

3.字符串:將數據存入數組中,考慮第一個字符‘-’,'0'

所有情況:

1.符號相同:同正,同負

2.符號相反:一正一負

3.不確定:一0一正;一0一負;都爲0;

一:運用乘積,兩者相乘

要求:不可以使用比較運算符,即"<",">","<=",">=","==","!="

應該是不能拿x.y與0通過運算符進行直接比較   其他的用到運算符應該沒問題   因爲下面第一種代碼就用到了>,<,但是ac了

以前一直認爲“,”等價於&&,今天運行第三個代碼時才知道 if(x,y) x可以爲0,y不能爲0; if(x&&y),x,y都不能爲0

1.乘積

ac code:

#include<stdio.h> 
int main() 
{ 
    int x,y; 
    while(~scanf("%d%d",&x,&y)) 
   { 
      if(x*y>0) 
            printf("Signs are not opposot\n"); 
       else if(x*y<0) 
            printf("Signs are opposite\n"); 
       else 
			printf("Signs can't be sure\n"); 
    }  
    return 0; 
}

 

2 字符串

ac code:

#include<stdio.h> 
#define MAXN 10000 
int main() 
{ 
	char str1[MAXN],str2[MAXN];    
	while(~scanf("%s%s",str1,str2))    
	{ 
		if(str1[0]=='0'||str2[0]=='0') 
			printf("Signs can't be sure\n"); 
		else if(str1[0]=='-'&&str2[0]=='-'||str1[0]!='-'&&str2[0]!='-')            
			printf("Signs are not opposot\n"); 
//		else if(str1[0]||str2[0]) 一正一負 
		else
			printf("Signs are opposite\n");     
	}     
	return 0;  
}


3,絕對值

ac code:

#include<stdio.h>
#include<stdlib.h> 
//#include<math.h> 
int main() 
{    
	int x,y;    
	while(~scanf("%d%d",&x,&y))    
	{        
		if(x&&y) //不能寫成if(x,y)因爲 他表示y!=0,不表示x,y都不爲0      
		{            
			if(x*y+abs(x*y))                
				printf("Signs are not opposot\n");             
			else printf("Signs are opposite\n");        
		} 
       	else 
            printf("Signs can't be sure\n"); 
    } 
    return 0; 
}


第一次提交時沒有寫頭文件stdlib.h,寫math.h編譯錯誤

編譯錯誤:

./Source/main.cpp: In function 'int main()':
./Source/main.cpp:24: error: 'abs' was not declared in this scope


 

發佈了52 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章