目录
7-1 sdut-温度转换
输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9。
输入格式:
输入数据只有一个实数,即华氏温度。
输出格式:
输出数据只有一个,即摄氏温度,保留2位小数。
提示:输出数据时小数点保留2位小数的实现方式如下。
(1) PYTHON实现:
print("%.2f" %(c)) #其中,c为变量 (方式1)
print("{:.2f}".format(c)) #其中,c为变量(方式2)
(2)Java实现:
System.out.printf("%.2f",c); //c为变量
输入样例:
32.0
输出样例:
0.00
答案:
f=float(input())#输入浮点型
c=5*(f-32)/9
print("%.2f"%(c))
7-2 sdut-oop-1 简单的复数运算
设计一个类Complex,用于封装对复数的下列操作:
成员变量:实部real,虚部image,均为整数变量;
构造方法:无参构造方法、有参构造方法(参数2个)
成员方法:含两个复数的加、减、乘操作。
复数相加举例: (1+2i)+(3+4i)= 4 + 6i
复数相减举例: (1+2i)-(3+4i)= -2 - 2i
复数相乘举例: (1+2i)*(3+4i)= -5 + 10i
要求:对复数进行连环算术运算。
提示:如果用PYTHON语言实现,不必设计Complex类,可以使用内置的复数数据类型,完成复数的算术运算。
输入格式:
输入有多行。
第一行有两个整数,代表复数X的实部和虚部。
后续各行的第一个和第二个数表示复数Y的实部和虚部,第三个数表示操作符op: 1——复数X和Y相加;2——复数X和Y相减;3——复数X和Y相乘。
当输入0 0 0时,结束运算,输出结果。
输出格式:
输出一行。
第一行有两个整数,代表复数的实部和虚部,实部和虚部之间用1个空格分开。
输入样例:
1 1
3 4 2
5 2 1
2 -1 3
0 2 2
0 0 0
输出样例:
5 -7
答案:
a,b=map(int,input().split())#得到输入的去空格的int型数值,分别赋予a,b
x=complex(a, b)#x用来表示一个复数,比如complex(1,2)实为1+2i
while 1:#当有输入时
a,b,c=map(int,input().split())
y = complex(a, b)
if (y==0&c==0):#输入000时输出
print(int(x.real),int(x.imag))#.real表示实部,.imag表示虚部
break
if c==1:
x=x+y
elif c==2:
x=x-y
else :
x=x*y
7-3 sdut-入门-转换字母
输入格式:
从键盘上输入一个小写字母。
输出格式:
小写字母装换成大写字母输出。
输入样例:
a
输出样例:
A
答案:
a=input()
print(a.upper())
7-4 sdut-计算球体积
根据输入的半径值,计算球的体积。
提示:PI=3.1415926。
输入格式:
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
输出格式:
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
提示:PYTHON3输出三位小数的语句:print("%.3f" % (v))
;其中,v为变量。
输入样例:
1
1.5
输出样例:
4.189
14.137
答案:
while 1:#while,try,except实现多组输入
try :
r = float(input())
PI = 3.1415926
v = 4/3 * PI * r * r * r
print("%.3f" %(v))
except :
break;
7-5 sdut-数据类型-1-求班级男女生比例
新的一学期开始,HH同学在学校认识了很多的同学,但是他却不知道自己本班男生和女生的比例是多少。对于学过编程的你一定简单极了吧。你能帮他算出男生女生的百分比吗?
输入格式:
每行输入正整数男生和女生的数目n,m(0<n,m<1000)。
输出格式:
输出男生女生所占的比例(保留小数点后两位)。
输入样例1:
20 30
输出样例1:
40.00% 60.00%
输入样例2:
10 10
输出样例2:
50.00% 50.00%
输入样例:
50 0
输出样例:
100.00% 0.00%
答案:
n, m = map(int, input().split())
sum = n+m
x = n/sum*100
y = m/sum*100
print("%.2f%%" %x, "%.2f%%" %y)
7-6 sdut-常用类-骄傲的代价
E_star由于在上次考试中取得了很好的成绩他开始骄傲起来,此时von看不下去了,于是他把E_star叫来说,最近一道A+B编程题目不会,想让E_star来帮他解答,E_star二话没说结一口答应了,等到von把题目发给E_star的时候他傻眼了。这下,知道骄傲的后果了吧。
JAVA语言实现提示:可使用JDK标准API中的类:java.math.BigInteger。
输入格式:
题目有多组数据,处理到文件结束。输入的第一行包含一个数T,代表测试组数;
接下来有T行,每行有两个整数A和B,中间用空格分隔。
提示:整数可能超出long类型的取值范围。B不为0。
输出格式:
对于每一组数据,输出5行数据,分别为2个数的和、差、积、商(整除)、余数。形式为:
A+B=C,其中C是A与B的加和。
A-B=D,其中D是A与B的差。
A*B=E,其中E是A与B的乘积。
A/B=F,其中F是A与B的商(整数)。
A%B=G,其中G是A除以B的余数。
输入样例:
3
1 2
24 6
12313131231231232131 31232131315465436657434321
输出样例:
1+2=3
1-2=-1
1*2=2
1/2=0
1%2=1
24+6=30
24-6=18
24*6=144
24/6=4
24%6=0
12313131231231232131+31232131315465436657434321=31232143628596667888666452
12313131231231232131-31232131315465436657434321=-31232119002334205426202190
12313131231231232131*31232131315465436657434321=384565331518372453687453692411523206037368051
12313131231231232131/31232131315465436657434321=0
12313131231231232131%31232131315465436657434321=12313131231231232131
答案:
while 1:
try:
n = int(input())
while n:
n =n-1
a, b = map(int, input().split())
print("%d+%d=%d" %(a, b, a + b))
print("%d-%d=%d" %(a, b, a - b))
print("%d*%d=%d" %(a, b, a * b))
print("%d/%d=%d" %(a, b, a // b))
print("%d%%%d=%d" %(a, b, a % b))
except:
break;
7-7 sdut-求奇数分之一序列的前N项近似和
计算序列 1 + 1/3 + 1/5 + ... 的前N项近似和。
Python提示:用math模块的ceil函数。
ceil函数帮助信息:Return the ceiling of x as an Integral. This is the smallest integer >= x.
ceil函数使用举例:
import math
print(math.ceil(12.23)) #输出:13
输入格式:
在一行中给出一个正整数N。
输出格式:
在一行中按照“sum≈S”的格式输出近似和S。S是大于序列和的最小整数。
输入样例:
23
输出样例:
sum≈3
答案:
import math
a=int(input())
sum=1
x=1
for i in range(1,a):#统计循环次数,由于前面定义了1,所以只需要循环22次就可以,1到a-1,例如:range(1,3)表示1,2
x=x+2
sum=sum+1/x
print("sum≈%d" %(math.ceil(sum)))
7-8 sdut-求平方与倒数序列的近似和
对两个正整数m和n(m≤n)编写程序,计算序列近似和。近似和定义为小于序列和的最大整数。
Python实现提示:用math模块的floor函数。floor函数帮助信息:Return the floor of x as an Integral. This is the largest integer <= x.
floor函数使用举例:
import math
print(math.floor(12.43)) #输出:12
输入格式:
在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum≈S”的格式输出近似和S。
输入样例:
5 10
输出样例:
在这里给出相应的输出。例如:
sum≈355
答案:
import math
n, m = map(int, input().split())
sum = 0
for i in range(n, m + 1):
sum = sum + i*i + (1/i)
print("sum≈%d" %(math.floor(sum))) #输出:12
7-9 sdut-入门-三个整数和、积与平均值
给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。
输入格式:
输入只有三个正整数a、b、c。数据之间用一个空格隔开。
输出格式:
输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。
输入样例:
2 3 3
输出样例:
8 18 2.67
答案:
a, b, c = map(int, input().split())
x = a + b + c
y = a * b * c
z = x/3
print("%d %d %.2f" %(x, y, z))
7-10 sdut-入门-买糖果
小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了。
糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?
输入格式:
输入爸爸给小瑜的钱n元,n为整数。
输出格式:
小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用1个空格分隔。
输入样例:
2
输出样例:
6 2
答案:
import math
n = int(input())
m = n * 10
x = math.floor(m/3) #floor函数,12.43返回12
y = m % 3
print(x, y)