优秀代码看不懂


此题会做,但是看不懂优秀代码中的解法和一些细节

PS:万能头文件

#include<bits/stdc++.h>
using namespace std;

不可以!

描述

判断:两个数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


你的答案:

 
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int x,y,a,b;
    while(scanf("%d%d",&x,&y)!=EOF)
    {
       // cin>>x>>y;
        a=abs(x);
        b=abs(y);
        if(x&&y)
        {
        if(a-x&&b-y)//两个数都是一,即两个数都为负数
            cout<<"Signs are not opposot"<<endl;
        else if(!(a-x||b-y))//要求两个数都为0,即两个数都是正数
            cout<<"Signs are not opposot"<<endl;
        else cout<<"Signs are opposite"<<endl;
        }
        else cout<<"Signs can't be sure"<<endl;
    }
    return 0;
}
        

注意不能使用while(1),是死循环死循环死循环

优秀代码:

#include<stdio.h>
int main()
{
	int a,b,c;
	while(~scanf("%d%d",&a,&b))
	{
		c=((a>>31)&1)+((b>>31)&1);
		if((!a)||(!b))printf("Signs can't be sure\n");
		else printf("Signs are %s\n",c&1?"opposite":"not opposot");
	}
}        

看不懂它的解法

看不懂

~scanf("%d%d",&a,&b)

是什么意思?

看不懂

c=((a>>31)&1)+((b>>31)&1)
是什么意思?


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在阅读和理解Python项目代码时,有几个要点可以帮助你更好地理解代码的含义和功能。 首先,了解项目文件组织结构非常重要。一个规范的Python项目通常会按照一定的结构组织代码文件和资源文件。在包目录下,通常会有一个`__init__.py`文件,该文件的作用是将该目录声明为一个Python包。此外,在包目录下还会有一些`.py`文件,用于实现具体的功能代码。另外,还可能存在一个名为`test`的目录,用于存放测试代码。这样的结构有助于代码的组织和维护。 其次,可以参考其他项目或框架的代码作为学习的切入点。Python社区有很多优秀源项目和框架可以供学习参考。通过阅读这些项目的代码,可以了解如何组织代码、使用各种库和工具,以及实现各种功能。这样可以更好地理解和应用Python项目代码。 此外,可以采用一些实际的学习方法来更好地理解Python项目代码。例如,可以先从项目的主要入口文件始阅读,了解项目的整体结构和功能。然后,可以逐步深入到各个模块和函数中,理解其具体实现。在阅读代码的过程中,可以结合使用调试工具和打印输出来观察代码的执行流程和结果。还可以查阅相关的文档和资料,以获取更多关于项目代码的说明和解释。 总结起来,要理解Python项目代码,可以通过了解项目文件组织结构、参考其他项目代码,以及采用实际的学习方法来逐步深入理解代码的含义和功能。这样可以帮助你更好地阅读和理解Python项目代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值