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