其他分享
首页 > 其他分享> > ZZULIOJ 1030~1039(oj入门题)

ZZULIOJ 1030~1039(oj入门题)

作者:互联网

ZZULIOJ 1030: 判断直角三角形

时间限制: 1 Sec 内存限制: 30 MB

题目描述

输入三个正整数,判断用这三个整数做边长是否能构成一个直角三角形。

输入

输入三个正整数。

输出

能否构成直角三角形。如能输出:yes.若不能,输出:no。
样例输入 Copy
6 8 10
样例输出 Copy
yes

代码

#include<stdio.h>
bool IsRT(int a, int b, int c)
{
	if(a * a == b * b + c * c)
		return true;
	else if(b * b == a * a + c * c)
		return true;
	else if(c * c == a * a + b * b)
		return true;
	else
		return false;
}
int main()
{
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);
	if(IsRT(a, b, c))
		printf("yes\n");
	else
		printf("no\n");
	return 0;
} 

ZZULIOJ 1031: 判断点在第几象限

时间限制: 1 Sec 内存限制: 30 MB

题目描述

从键盘输入2个整数x、y值,表示平面上一个坐标点,判断该坐标点处于第几象限,并输出相应的结果。

输入

输入x,y值表示一个坐标点。坐标点不会处于x轴和y轴上,也不会在原点。

输出

输出对应的象限,用数字1,2,3,4分别对应四个象限。>
样例输入 Copy
1 1
样例输出 Copy
1

代码

#include<stdio.h>
int main()
{
	int x, y;
	scanf("%d %d", &x, &y);
	if(x > 0 && y > 0)
		printf("1\n");
	if(x < 0 && y > 0)
		printf("2\n");
	if(x < 0 && y < 0)
		printf("3\n");
	if(x > 0 && y < 0)
		printf("4\n");
	return 0;
}

ZZULIOJ 1032: 员工薪水

时间限制: 1 Sec 内存限制: 30 MB

题目描述

某公司规定,销售人员工资由基本工资和销售提成两部分组成,其中基本工资是1500元/月,销售提成规则如下:
销售额小于等于10000元时,按照5%提成;
销售额大于10000元但小于等于50000元时,超出10000部分按照3%提成;
销售额大于50000元时,超出50000部分按照2%提成。
编写程序,根据销售额计算员工收入。

输入

输入一个整数表示销售额

输出

输出员工的薪水,保留2位小数。
样例输入 Copy
30000
样例输出 Copy
2600.00

代码

#include<stdio.h>
int main()
{
	int price = 0;
	double salary = 0;
	scanf("%d", &price);
	if(price <= 10000)
		salary = price *  0.05 + 1500;
	else if(price > 10000 && price <= 50000)
		salary = 1500 + 500 + (price - 10000) * 0.03;
	else
		salary = 1500 + 500 + 1200 + (price - 50000) * 0.02;
	printf("%.2lf\n", salary);
	return 0;
}

ZZULIOJ 1033: 五级制成绩

时间限制: 1 Sec 内存限制: 30 MB

题目描述

给定一个百分制成绩, 请根据百分制成绩输出其对应的等级。转换关系如下:
90分及以上为’A’,80~89为’B’, 70~79为’C’, 60~69为’D’,60分以下为’E’。

输入

一个百分制成绩(0~100的整数)。

输出

输出对应的等级。
样例输入 Copy
100
样例输出 Copy
A

代码

#include<stdio.h>
int main()
{
	int score = 0;
	scanf("%d", &score);
	if(score >= 90 && score <= 100)
		printf("A\n");
	if(score >= 80 && score < 90)
		printf("B\n");
	if(score >= 70 && score < 80)
		printf("C\n");
	if(score >= 60 && score < 70)
		printf("D\n");
	if(score >= 0 && score < 60)
		printf("E\n"); 
}

ZZULIOJ 1034: 夏季促销

时间限制: 1 Sec 内存限制: 30 MB]

题目描述

商场夏季促销,购物500元以下,不打折;购物500元(含)以上,95折;购物1000元(含)以上,9折;购物3000元(含)以上,85折;购物5000元(含)以上,8折。根据消费金额,确定用户实际需要支付的数目。

输入

输入一个实数,表示消费金额。

输出

输出一个实数,表示用户实际需要支出的数目,保留两位小数。
样例输入 Copy
5100
样例输出 Copy
4080.00

代码

#include<stdio.h>
int main()
{
	double price = 0;
	scanf("%lf", &price);
	if(price >=0 && price < 500)
		printf("%.2lf\n", price);
	if(price >= 500 && price < 1000)
		printf("%.2lf\n", price * 0.95);
	if(price >= 1000 && price < 3000)
		printf("%.2lf\n", price * 0.9);
	if(price >= 3000 && price < 5000)
		printf("%.2lf\n", price * 0.85);
	if(price >= 5000)
		printf("%.2lf\n", price * 0.8);
	return 0;	
}

ZZULIOJ 1035: 分段函数求值

时间限制: 1 Sec 内存限制: 30 MB

题目描述

已知:y是x的函数,
当x<-2时,y=7-2x;
当x>=-2,且x<3时,y=5-|3x+2|;
当x>=3时,y=3x+4

输入

任意输入一个整数x。

输出

输出为一个整数,即x对应的函数值。
样例输入 Copy
2
样例输出 Copy
-3

#include<stdio.h>
int main()
{
	int x = 0;
	scanf("%d", &x);
	if(x < -2)
		printf("%d\n", 7 - 2 * x);
	else if(x >= -2 && x < 3)
	{
		if(3 * x + 2 <= 0)
			printf("%d\n", 3 * x + 7);
		else 
			printf("%d\n", 3 - 3 * x);	
	}	
	else
		printf("%d\n", 3 * x + 4);
	return 0;
} 

ZZULIOJ 1036: 某年某月有多少天

时间限制: 1 Sec 内存限制: 30 MB

题目描述

给你一个年份和月份,求该月有多少天

输入

一个年份(正整数),一个月份(1-12),中间有一个空格隔开

输出

该月的天数,单独占一行。
样例输入 Copy
2012 2
样例输出 Copy
29

代码

#include<stdio.h>
bool Isprime(int n)//判断闰年 
{
	if((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
		return true;
	else
		return false;
}
bool Is_31days(int n)//判断大月小月 
{
	if(n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 || n == 12)
		return true;
	if(n == 4 || n == 6 || n == 9 || n == 11)
		return false;
}
int main()
{
	int year, mouth;
	scanf("%d %d", &year, &mouth);
	if(mouth == 2)//先判断是不是2月 
	{
		if(Isprime(year))
			printf("29\n");
		else
			printf("28\n");
	}
	else
	{
		if(Is_31days(mouth))
			printf("31\n");
		else
			printf("30\n");
	}
}

ZZULIOJ 1037: 四则运算

时间限制: 1 Sec 内存限制: 30 MB

题目描述

给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果

输入

表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符

输出

如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input!"。最后结果小数点后保留两位。
样例输入 Copy
1.0 + 1.0
样例输出 Copy
2.00
提示
除数是0,用|s2|<1e-10(即10的-10次方)判断

代码

#include<stdio.h>
int main()
{
	double s1, s2;
	char op;
	scanf("%lf %s %lf", &s1, &op, &s2);
	if(op == '+')
		printf("%.2lf\n", s1 + s2);
	else if(op == '-')
		printf("%.2lf\n", s1 - s2);
	else if(op =='*')
		printf("%.2lf\n", s1 * s2);
	else if(op == '/')
	{	//为什么用下面这张方法判断上是不是0   
		//如果简单的用"s2 == 0"来判断不准确
		//若输入s2 = 0.0 或者0.00 结果就不准确 
		//故用题目提示的方法来判断 "s2 == 0" 
		if(s2 < 1e-10 && s2 > -1e-10)
			printf("Wrong input!\n");
		else
			printf("%.2lf\n", s1 / s2);
	}
	else
		printf("Wrong input!\n");
	return 0;
} 

ZZULIOJ 1038: 绝对值最大

时间限制: 1 Sec 内存限制: 30 MB

题目描述

输入3个整数,输出绝对值最大的那个数。

输入

输入包含3个int范围内的整数,用空格隔开。

输出

输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。
样例输入 Copy
1 2 -3
样例输出 Copy
-3

代码

#include<stdio.h>
int main()
{
	int a, b, c, m, n , p;
	scanf("%d %d %d", &a, &b, &c);
	//用 m n p 代替a,b,c的绝对值 
	if(a < 0)
		m = -a;
	else 
		m = a;
	if(b < 0)
		n = -b;
	else
		n = b;
	if(c < 0)
		p = -c;
	else
		p = c;
//找到绝对值的最大值		
	if(m < n)
		m  = n;
	if(m < p)
		m = p;
		
//为满足有两个一样的,只输出第一个
//所以用else if来实现 
	if(m == a || m == -a)
		printf("%d\n", a);
	else if(m == b || m == -b)
		printf("%d\n", b);
	else if(m == c || m == -c)
		printf("%d\n", c);
	return 0;
} 

ZZULIOJ 1039: n个数求和

时间限制: 1 Sec 内存限制: 30 MB

题目描述

输入一个整数n和n个整数,输出这n个整数的和。

输入

输入有两行:第一行是一个正整数n,第二行是n个整数。

输出

输出一个整数,即n个数的和。输出单独占一行。
样例输入 Copy
3
7 3 2
样例输出 Copy
12

代码

#include<stdio.h>
int main()
{
	int n, i,num;
	int sum = 0;
	scanf("%d\n", &n);
	for(i = 0; i < n; i++)
	{
		scanf("%d", &num);
		sum += num;
	}
	printf("%d\n", sum);
	return 0;
}

标签:输出,int,样例,ZZULIOJ,else,1039,printf,1030,Copy
来源: https://blog.csdn.net/L51213/article/details/113776001