ZZULIOJ.1011: 圆柱体表面积 —— 1021:三个整数的最大值(C语言 Vs Python)

目录

    • 1011: 圆柱体表面积
    • 1012: 求绝对值
    • 1013: 求两点间距离
    • 1014: 求三角形的面积
    • 1015: 计算时间间隔
    • 1016: 银行利率
    • 1017: 判断正整数位数
    • 1018: 奇数偶数
    • 1019: 公园门票
    • 1020: 两整数排序
    • 1021: 三个整数的最大值

1011: 圆柱体表面积

题目描述
输入圆柱体的底面半径r和高h,计算圆柱体的表面积并输出到屏幕上。要求定义圆周率为如下宏常量
#define PI 3.14159

输入 输入两个实数,为圆柱体的底面半径r和高h。
输出 输出一个实数,即圆柱体的表面积,保留2位小数。

样例输入 Copy
42.1 71.6
样例输出 Copy
30076.14

#include
#define pi 3.14159
int main(void)
{
    double r, h, s;
    scanf("%lf%lf", &r, &h);
    s = pi * r * r * 2 + 2 * pi * r * h;
    printf("%.2f\n", s);
    return 0;
}

Vs

pi = 3.14159
r,h =map(float,input().split())
s = pi * r *r * 2 + 2 * pi * r * h
print("%.2f" %(s))

1012: 求绝对值

题目描述
求实数的绝对值。

输入 输入一个实数。
输出 输出它的绝对值,结果保留两位小数

样例输入 Copy
-234.00
样例输出 Copy
234.00

#include
int main(void)
{
    double a, b;
    scanf("%lf", &a);
    b = fabs (a);
    printf("%.2f\n", b);
    return 0;
}

Vs

import math
x = float(input())
y = math.fabs (x)
print("%.2f" %(y))

1013: 求两点间距离

题目描述
给定A(x1, y1), B(x2, y2)两点坐标,计算它们间的距离。

输入 输入包含四个实数x1, y1, x2, y2,分别用空格隔开,含义如描述。其中0≤x1,x2,y1,y2≤100。
输出 输出占一行,包含一个实数d,表示A, B两点间的距离。结果保留两位小数。

样例输入 Copy
1 1 2 2
样例输出 Copy
1.41

#include
#include
int main(void)
{
    double x1, y1, x2, y2, dist;
    scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
    dist = sqrt ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    printf("%.2f\n", dist);
    return 0;
}

Vs

import math
x1,y1,x2,y2 = map(float,input().split())
d = math.sqrt((x2 -x1) ** 2 + (y2 - y1) ** 2)
print("%.2f" %(d))

1014: 求三角形的面积

题目描述
给出三角形的三条边,求三角形的面积。

输入 输入三角形的三条边长(实数),数据之间用空格隔开。
输出 输出三角形的面积,结果保留2位小数。

样例输入 Copy
2.5 4 5
样例输出 Copy
4.95

提示
用海伦公式或其他方法均可。

#include
#include
int main(void)
{
	double a, b, c, p, s;
	scanf("%lf%lf%lf", &a, &b, &c);
	p = (a + b + c)/2;
	s = sqrt(p * (p-a) * (p-b) * (p-c));
	printf("%.2f\n",s);
	return 0;
 } 

Vs

import math
a,b,c = map(float,input().split())
p = (a + b + c) / 2
s = math.sqrt(p * (p - a) * (p - b) * (p -c))
print("%.2f" %(s))

1015: 计算时间间隔

题目描述
读入两个用“时:分:秒”表示的时间点,计算以秒为单位的时间间隔。

输入 输入有两行,每行是一个用“时:分:秒”表示的时间点。测试数据保证第二个时间点晚于第一个时间点。
输出 输出一个整数,表示时间间隔的秒数。

样例输入 Copy
08:00:00
09:00:00
样例输出 Copy
3600

#include
#include
int main()
{
	int x1,x2,y1,y2,z1,z2,sum1,sum2;
	scanf("%d:%d:%d",&x1,&y1,&z1);
	scanf("%d:%d:%d",&x2,&y2,&z2);
	sum1=3600*x1+60*y1+z1;
	sum2=3600*x2+60*y2+z2;
	printf("%d",sum2-sum1);
}

Vs

import math
# x表示时,y表示分,z表示秒
x1,y1,z1 = map(int,input().split(":"))
x2,y2,z2 = map(int,input().split(":"))
sum1 = 3600 * x1 + 60 * y1 + z1
sum2 = 3600 * x2 + 60 * y2 + z2
print(int(sum2-sum1))

1016: 银行利率

题目描述
设银行1年期定期存款年利率为2.25%,存款本金为deposit元,试编程计算并输出n年后的本利之和。

输入 输入一个正整数和一个实数,分别代表存款年数和存款本金。
输出 输出一个双精度实数,小数点后保留6位有效数字。

样例输入 Copy
2 100
样例输出 Copy
104.550625

#include
#include
#define pi 0.0225
int main()
{
	int n;
	double deposit,sum;
	scanf("%d%lf",&n,&deposit);
	sum=deposit*pow(1+pi,n);
	printf("%.6lf",sum);
}

Vs

import math
pi = 0.0225 #pi 为年利率
n,deposit = map(float,input().split())
sum = deposit * math.pow(1 + pi , n)
print("%.6f" %sum)

1017: 判断正整数位数

题目描述
给定一个不多于5位的正整数,判断它是几位数,并输出。
输入 一个不多于5位的正整数。

输出 输出正整数的位数,单独占一行。

样例输入 Copy
111
样例输出 Copy
3

#include
int main(void)
{
    int a, len;
    scanf("%d", &a);
    len = (int)log10(a) + 1;
    printf("%d\n", len);
    return 0;
}

Vs

import math
a = int(input())
x = (int)(math.log10(a)) + 1
print(x)
#或者
a = int(input())
print(len(str(a)))

1018: 奇数偶数

题目描述
输入一个整数,判断该数是奇数还是偶数。

输入 输入整数n。
输出 如果该数是奇数就输出“odd”,偶数就输出“even”(输出不含双引号)。

样例输入 Copy
8
样例输出 Copy
even

#include
int main(void)
{
	int n;
	scanf("%d",&n);
	if(n%2==0)
	   printf("even");
	else
	   printf("odd"); 
 } 

Vs

n = int(input())
if n % 2 == 0:
    print("even")
else:
    print("odd")

1019: 公园门票

题目描述
某公园门票的票价是每人50元,一次购票满30张,每张可以少收2元。试编写自动计费系统程序。

输入 输入一个正整数,表示购票的数量。
输出 输出一个整数,表示用户实际需要支付的金额。

样例输入 Copy
30
样例输出 Copy
1440

#include
int main(void)
{
	int x, y;
	scanf("%d", &x);
	if(x<30)
	   y = 50*x;
	else
	   y = 48*x;
	printf("%d\n",y);
}

Vs

x = int(input())
if x < 30:
    print(50 * x )
else:
    print(48 * x )

1020: 两整数排序

题目描述
从键盘输入两个整数x,y,按从小到大的顺序输出它们的值。

输入 输入两个整数x,y。
输出 按从小到大的顺序输出它们的值。数据之间以空格间隔。

样例输入 Copy
20 16
样例输出 Copy
16 20

#include
int main(void)
{
    int a, b, t;
    scanf("%d%d",&a, &b);
    if(a>b)
    {
        t = a;
        a = b;
        b = t;
    }
    printf("%d %d\n", a, b);
    return 0;
}

Vs

a,b = map(int,input().split())
if a > b :
    t = a
    a = b
    b = t
print("%d %d" %(a,b))

1021: 三个整数的最大值

题目描述
从键盘输入三个整数x,y和z,求出其中最大的数。

输入 输入三个整数,用空格隔开。
输出 输出最大整数。

样例输入 Copy
20 16 18
样例输出 Copy
20

#include
int main(void)
{
    int x, y, z, max;
    scanf("%d%d%d", &x, &y, &z);
    max = (x>y) ? x : y;
    max = (z>max) ? z : max;
    printf("%d\n",max);
    return 0;
}

Vs

x,y,z = map(int,input().split())
if x > y:
    max = x
else:
    max = y
if z > max:
    max = z
print(max)

你可能感兴趣的:(ZZULIOJ)