OpenJudge题解——1.4编程基础之逻辑表达式与条件分支

目录

01:判断数正负

02:输出绝对值

03:奇偶数判断

04:奇偶ASCII值判断

05:整数大小比较

06:判断是否为两位数

07:收集瓶盖赢大奖

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

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

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

11:晶晶赴约会

12:骑车与走路

13:分段函数

14:计算邮资

15:最大数输出

16:三角形判断

17:判断闰年

18:点和正方形的关系

19:简单计算器

20:求一元二次方程的根

21:苹果和虫子2


01:判断数正负

#include <cstdio>
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:输出绝对值

#include <cstdio>
using namespace std;
int main(){
	float n;
	scanf("%f",&n);
	if(n>=0){
		printf("%.2f",n);
	}else{
		printf("%.2f",-1*n);
	}
	return 0;
}

03:奇偶数判断

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

04:奇偶ASCII值判断

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

05:整数大小比较

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

06:判断是否为两位数

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

07:收集瓶盖赢大奖

#include <cstdio>
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整除

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

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

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

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

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

11:晶晶赴约会

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

12:骑车与走路

#include<cstdio>
using namespace std;
int main(){
	float n,t1,t2;
	scanf("%f",&n);
	t1=n/3.0+27+23;
	t2=n/1.2;
	if(t1<t2){
		printf("Bike");
	}else if(t1>t2){
		printf("Walk");
	}else{
		printf("All");
	}
	return 0;
} 

13:分段函数

#include<cstdio>
using namespace std;
int main(){
	float x,y;
	scanf("%f",&x);
	if(x>=0&&x<5){
		y=-1*x+2.5;
	}else if(x>=5&&x<10){
		y=2-1.5*(x-3)*(x-3);
	}else if(x>=10&&x<20){
		y=x/2-1.5;
	}
	printf("%.3f",y);
	return 0;
}

14:计算邮资

#include<cstdio>
#include<math.h>
using namespace std;
int main(){
	int a,n,t;
	char b[10];
	scanf("%d%s",&a,&b);
	t=ceil((a-1000)*1.0/500);  //对超出的部分向上取整 
	n=8; //基础运费8元 
	if(t>=1) n=n+t*4;  
	if(b[0]=='y') n=n+5;
	printf("%d",n);
	return 0;
} 

15:最大数输出

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

16:三角形判断

#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) printf("yes");
	else printf("no");
	return 0;
} 

17:判断闰年

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

18:点和正方形的关系

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

19:简单计算器

#include<iostream>
using namespace std;
int main(){
	int a,b;
	char c;
	cin>>a>>b>>c;
	if(c=='+') cout<<a+b;
	else if(c=='-') cout<<a-b;
	else if(c=='*') cout<<a*b;
	else if(c=='/')
		if(b==0) cout<<"Divided by zero!";
		else cout<<a/b;
	else cout<<"Invalid operator!";
	return 0;
} 

20:求一元二次方程的根

#include <iostream>
#include <stdio.h>
#include <math.h> 
using namespace std;
int main(){
    double a,b,c,x;
    cin>>a>>b>>c;
    if(b*b==4*a*c)
        printf("x1=x2=%.5f",(-b+sqrt(b*b-4*a*c))/(2*a));
    else{
        if(b*b>4*a*c)
            printf("x1=%.5f;x2=%.5f",(-b+sqrt(b*b-4*a*c))/(2*a), (-b-sqrt(b*b-4*a*c))/(2*a));
        else{
            x=(-b/(2*a));
            if(x==-0.00000)
                x=0;
            printf("x1=%.5f+%.5fi;x2=%.5f-%.5fi",x,(sqrt(4*a*c-b*b)/(2*a)),x,(sqrt(4*a*c-b*b)/(2*a)));
        }
    }
    return 0;
}

21:苹果和虫子2

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x,y,e;
	cin>>n>>x>>y;
	e=ceil(y*1.0/x);
	if(n>e) cout<<n-e;
	else cout<<0;	 		
	return 0;
} 

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值