NOI-1.4编程基础之逻辑表达式与条件分支(不完整)

01:判断数正负

描述
给定一个整数N,判断其正负。
输入
一个整数N(-109 <= N <= 109)
输出
如果N > 0, 输出positive;
如果N = 0, 输出zero;
如果N < 0, 输出negative;
样例输入

1

样例输出

positive

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int main ()
{
	int N;
	scanf("%d",&N);
	if(N>0)
		printf("positive");
	else if(N==0)
		printf("zero");
	else
		printf("negative");
	return 0;
}

02:输出绝对值

描述
输入一个浮点数,输出这个浮点数的绝对值。
输入
输入一个浮点数,其绝对值不超过10000。
输出
输出这个浮点数的绝对值,保留到小数点后两位。
样例输入

-3.14

样例输出

3.14

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int main ()
{
	double n;
	scanf("%lf",&n);
	n=fabs(n);
	printf("%.2lf",n);
	return 0;
}

03:奇偶数判断

描述
给定一个整数,判断该数是奇数还是偶数。
输入
输入仅一行,一个大于零的正整数n。
输出
输出仅一行,如果n是奇数,输出odd;如果n是偶数,输出even。
样例输入

5

样例输出

odd

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int main ()
{
	int a;
	scanf("%d",&a);
	if(a%2==0)
		printf("even");
	else
		printf("odd");
	return 0;
} 

04:奇偶ASCII值判断

描述
任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出NO
例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输出NO
输入
输入一个字符
输出
如果其ASCII值为奇数,则输出YES,否则,输出NO
样例输入

A

样例输出

YES

#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int main()
{
	char a;
	int b;
	scanf("%c",&a);
	b=a;
	if(b%2!=0)
		printf("YES");
	else
		printf("NO");
	
	return 0;
}

05:整数大小比较

描述
输入两个整数,比较它们的大小。
输入
一行,包含两个整数x和y,中间用单个空格隔开。
0 <= x < 2^32, -2^31 <= y < 2^31。
输出
一个字符。
若x > y,输出 > ;
若x = y,输出 = ;
若x < y,输出 < ;
样例输入

1000 1000

样例输出

=

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
	long long int x,y;
	scanf("%lld %lld",&x,&y);
	if(x>y)
		printf(">");
	else if(x==y)
		printf("=");
	else
		printf("<");
		return 0;
}

06:判断是否为两位数

描述
判断一个正整数是否是两位数(即大于等于10且小于等于99)。
输入
一个正整数,不超过1000。
输出
一行。若该正整数是两位数,输出1,否则输出0。
样例输入

54

样例输出

1

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
	int x;
	scanf("%d",&x);
	if(x<=99&&x>=10)
		printf("1");
	else
		printf("0");
		return 0;
}

07:收集瓶盖赢大奖

描述
某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印有“幸运”、或20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。
现分别给出你拥有的印有“幸运”和“鼓励”的瓶盖数,判断是否可以去兑换大奖。
输入
一行,包含两个整数,分别是印有“幸运”和“鼓励”的瓶盖数,用一个空格隔开。
输出
一行。若可以兑换大奖,输出1,否则输出0。
样例输入

11 19

样例输出

1

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{ 
	int a,b;
	scanf("%d%d",&a,&b);
	if(a>=10||b>=20)
		printf("1");
	else	
		printf("0"); 
	return 0;
}

08:判断一个数能否同时被3和5整除

描述
判断一个数n 能否同时被3和5整除
输入
输入一行,包含一个整数n。( -1,000,000 < n < 1,000,000)
输出
输出一行,如果能同时被3和5整除输出YES,否则输出NO
样例输入

15

样例输出

YES

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{ 
	int n;
	scanf("%d",&n);
	if(n%15==0)
		printf("YES");
	else	
		printf("NO");
	return 0;
}

09:判断能否被3,5,7整除

描述
给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符‘n’,不包括单引号。
输入
输入一行,包括一个整数。
输出
输出一行,按照描述要求给出整数被3,5,7整除的情况。
样例输入

105

样例输出

3 5 7

#include <cstdio>
using namespace std;
int main ()
{
	int a;
	scanf("%d",&a);
	if(a%105==0)
		printf("3 5 7");
	else if(a%15==0)
		printf("3 5");
	else if(a%35==0)
		printf("5 7");
	else if(a%21==0)
		printf("3 7");
	else if(a%3==0)
		printf("3");
	else if(a%5==0)
		printf("5");
	else if(a%7==0)
		printf("7");
	else if(a%105!=0)
		printf("n");
	return 0;
}

10:有一门课不及格的学生

描述
给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。
输入
一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。
输出
若该生恰好有一门课不及格,输出1;否则输出0。
样例输入

50 80

样例输出

1

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	if(a<60)
		{
			if(b<60)
				printf("0");
			else
				printf("1");
		}
	else
		{
			if(b<60)
				printf("1");
			else
				printf("0");
		}	
	return 0;
}

11:晶晶赴约会

描述
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。
输入
输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。
输出
输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。注意YES和NO都是大写字母!
样例输入

2

样例输出

YES

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
	int a;
	scanf("%d",&a);
	if(a==1||a==3||a==5)
		printf("NO");
	else
		printf("YES");
	return 0;
}

12:骑车与走路

描述
在北大校园里,没有自行车,上课办事会很不方便.但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间.假设找到自行车,开锁并车上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。
输入
输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。
输出
输出一行,如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。
样例输入

120

样例输出

Bike

#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
	int n;
	double t1,t2;
	scanf("%d",&n);
	t1=50+n/3.0;
	t2=n/1.2;
	if(t1>t2)
		printf("Walk");
	else if(t1<t2)
		printf("Bike");
	else
		printf("All");
	return 0;
} 

14:计算邮资

描述
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
输入
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
输出
输出一行,包含一个整数,表示邮费。
样例输入

1200 y

样例输出

17

#include <stdio.h>
#include <math.h>
int main()
{
	int n;
	double sum;
	char c;
	scanf("%d %c",&n,&c);//输入时中间一定要加空格,不然会卡样例
	if( n == 0)
	{
		printf("0");
		return 0;
	}
	if(n <= 1000 && c == 'n')
		printf("8");
	else if(n <= 1000 && c == 'y')
		printf("13");
	else if(n > 1000 && c == 'n')
	{
		double t = (n - 1000) * 1.0 / 500;
		t = ceil(t);
		sum = t * 4 + 8;
		printf("%.0lf",sum);
	}
	else
	{
		double t = (n - 1000) * 1.0 / 500;
		t = ceil(t);
		sum = t * 4 + 13;
		printf("%.0lf",sum);
	}
	return 0;
}

16:三角形判断

描述
给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。
输入
输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。
输出
如果能构成三角形,则输出“yes” ,否则输出“no”。
样例输入

3 4 5

样例输出

yes

#include <math.h>
#include <cstdio>
using namespace std;
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a+b>c&&a+c>b&&b+c>a&&a-b<c&&a-c<b&&b-c<a)
		printf("yes");
	else
		printf("no");
	return 0;
}

17:判断闰年

描述
判断某年是否是闰年。
输入
输入只有一行,包含一个整数a(0 < a < 3000)
输出
一行,如果公元a年是闰年输出Y,否则输出N
样例输入

2006

样例输出

N

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
	int a;
	scanf("%d",&a);
	
	if(a%4==0)
		{
			if(a%100==0&&a%400!=0)	
				printf("N");
			else if(a%3200==0)
				printf("N");
			else
				printf("Y");
				
		}
	else
		printf("N");
	
	return 0;
}

18:点和正方形的关系

描述
有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。
输入
输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。
输出
输出一行,如果点在正方形内,则输出yes,否则输出no。
样例输入

1 1

样例输出

yes

#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
	int x,y;
	
	scanf("%d %d",&x,&y);
	if(x>=-1&&x<=1)
		{
			if(y>=-1&&y<=1)
				printf("yes");
			else
				printf("no");
		}
	else
		printf("no");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值