文章目录
1、绝对值
输入数字a并计算a的绝对值。不考虑不合理的输入或是溢出等特殊情况。
格式:
输入格式:输入实型数字a
输出格式:输出a的绝对值,输出为实型
样例一:
输入: -5.1
输出: 5. 100000
答案:
def main():
#code here
a = input()
a = abs(float(a))
print("{:.6f}".format(a))
pass
if __name__ == '__main__':
main();
2、日期
编写一个程序,以月/日/年(mm/dd/yyy) 的形式输入日期(其中月,日为1-2位整数,年为1-4位整数)然后以yyymmdd的形式显示(其中月,为2位整数,年为4位整数)。不考虑不合理的输入或是溢出等特殊情况。
格式:
输入格式:输入为整型
输出格式:输出为整型
样例一:
输入: 4/1/2019
输出: 20190401
答案:
def main():
#code here
month,day,year = input().split('/')
print("{:0>4d}{:0>2d}{:0>2d}".format(int(year),int(month),int(day)))
pass
if __name__ == '__main__':
main();
3、整数逆序
编写一个程序,要求输入一个两位数的数字,然后逆序输出数字。不考虑不合理的输入或是溢出等特殊情况。
格式:
输入格式:输入正整数
输出格式:输出为逆序后的字符串
样例一:
输入: 28
输出: 82
答案:
def main():
#code here
s = input()
print(s[::-1]) #利用切片
pass
if __name__ == '__main__':
main();
4、位数
编写一个程序,计算一个数字包含多少位数。 您可以假定该数字不超过四位数。本题不考虑负数或者其他特殊情况。
格式:
输入格式:输入为整型
输出格式:输出为整型
样例一:
输入: 87
输出: 2
答案:
def main():
#code here
number = input()
print(len(number))
pass
if __name__ == '__main__':
main();
5、最大公约数
请编写一个简单程序,输入2个整数,输出他们的最大公约数。不考虑负数,0或者其他特殊情况。
格式:
输入格式:输入为整型,空格分隔
输出格式:输出为整型
样例一:
输入: 3 5
输出: 1
答案:
def main():
#code here
a,b = input().split()
a = int(a)
b = int(b)
for i in range(min(a,b),0,-1):
if a % i == 0 and b % i ==0:
print(i)
break
pass
if __name__ == '__main__':
main();
6、最小公倍数
请编写一个简单程序,输入2个整数,输出他们的小公倍数。不考负数,0或者其他特殊情况。
格式:
输入格式:输入为整型,空格分隔
输出格式:输出为整型
样例一:
输入: 3 5
输出: 15
答案:
def main():
#code here
a,b = input().split()
a = int(a)
b = int(b)
for i in range(min(a,b),0,-1):
if a % i == 0 and b % i ==0:
print(int(a*b/i))
break
pass
if __name__ == '__main__':
main();
7、简单分数
编写一个程序,输入一一个分数,然后输出它的最简分数。不考负数, 0或者其他特殊情况。
格式:
输入格式:输入为整型
输出格式:输出为整型
样例一:
输入: 3/6
输出: 1/2
答案:
def main():
#code here
a,b = input().split('/')
a = int(a)
b = int(b)
for i in range(min(a,b),0,-1):
if a % i == 0 and b % i ==0:
print("{}/{}".format(int(a/i),int(b/i)))
break
pass
if __name__ == '__main__':
main();
8、偶数平方
编写一个程序,输入数字n,然后打印1和n之间的哪些是偶数平方的数。不考负数, 0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。
格式:
输入格式:输入为整型
输出格式:输出为整型,每个数字占-行
样例一:
输入: 100
输出: 4
16
36
64
100
答案:
def main():
#code here
number = eval(input())
for i in range(1,number+1):
if pow(i,0.5) % 2 == 0:
print(i)
pass
if __name__ == '__main__':
main();
9、奇数平方
编写一个程序,输入数字n,然后打印1和n之间的哪些是奇数平方的数。不考负数, 0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。
格式:
输入格式:输入为整型
输出格式:输出为整型,每个数字占-行
样例一:
输入: 100
输出: 1
9
25
49
81
答案:
def main():
#code here
number = eval(input())
for i in range(1,number+1,2):
for j in range(1,i+1,2):
if i == j * j:
print(i)
pass
if __name__ == '__main__':
main();
10、交换输出
请编写一个简单程序,输入两个整数a, b,交换他们的值并输出。
格式:
输入格式:输入为int,空格分隔
输出格式:输出为int,空格分隔
样例一:
输入:3 5
输出:5 3
答案:
def main():
#code here
a,b = input().split()
a,b = b,a
print(a,b)
pass
if __name__ == '__main__':
main();
11、偶数位
输入一个数字N,把偶数位置的所有数更改为0。比如30,二进制形式是11110,替换后是01010,则输出对应的十进制整数10。最右边是第0位,从右向左依次为0位,1位等等。不考虑非法输入等特殊情况。
格式:
输入格式:输入为整型
输出格式:输出为整型
样例一:
输入: 30
输出: 10
答案:
12、奇数位
输入一个数字N,把奇数位置的所有数更改为0。比如30,二进制形式是11110,替换后是10100,则输出对应的 十进制整数20。最右边是第0位,从右向左依次为0位, 1位等等。不考虑非法输入等特殊情况。
格式:
输入格式:输入为整型
输出格式:输出为整型
样例一:
输入: 30
输出: 20
答案:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n;
cin>>n;
int a[100];
while(n!=0){
for(int i=0;i<100;i++){
a[i] = n%2;
n/=2;
}
}
for(int i=0;i<100;i++){
if(i%2!=0){
a[i]=0;
}else continue;
}
int temp=0;
for(int i=0;i<100;i++) temp+=a[i]*pow(2,i);
cout<<temp<<endl;
return 0;
}
13、和的立方
输入为整数x,y, 求、y之和的立方。考虑溢出等特殊情况。
格式:
输入格式:输入为整型,空格分隔
输出格式:输出为整型
样例一:
输入:13
输出: 64
答案:
def main():
#code here
x,y = map(int,input().split())
print((x+y)**3)
pass
if __name__ == '__main__':
main();
14、合并
已知a、b、c是一个十进制数的百位、十位、个位,求这个十进制数。
格式:
输入格式:输入为正整型a、b、 C,空格分隔
输出格式:输出为整型
样例一:
输入:1 3 4
输出: 134
答案:
def main():
#code here
a,b,c = input().split()
list=[a,b,c]
print(''.join(list))
pass
if __name__ == '__main__':
main();
15、多项式计算
计算公式:x6-2*x5+3x4-5*x2+6x+7
格式:
输入格式:输入为整型x
输出格式:输出为整型
样例一:
输入: 1
输出: 10
答案:
def main():
#code here
x = eval(input())
print(x**6-2*x**5+3*x**4-5*x**2+6*x+7)
pass
if __name__ == '__main__':
main();
16、进制形式
分别输出128、456789的十进制、八进制、十六进制(字母大写)数据形式。
格式:
输入格式:无
输出格式:输出为整型,空格分隔
样例一:
输入:无
输出: 128 200 80
456789 1574125 6F855
答案:
def main():
#code here
print("128", oct(128)[2:].upper(), hex(128)[2:].upper())
print("456789", oct(456789)[2:].upper(), hex(456789)[2:].upper())
pass
if __name__ == '__main__':
main();
17、小数、指数
输出3.1415926、12345678.123456789的小数、 指数形式。
格式:
输入格式:无
输出格式:输出为实型,空格分隔
样例一:
输入:无
输出: 3.141593 3. 141593e+000
12345678.123457 1. 234568e+007
答案:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
double a = 3.1415926, b = 12345678.123456789;
printf("%lf ",a);
int i;
for(i=-1;a>1;i++) a/=10;
printf("%lfe+%03d\n",a*10,i);
printf("%lf ",b);
for(i=-1;b>1;i++) b /= 10;
printf("%lfe+%03d\n",b*10,i);
return 0;
}
18、宽度与对齐
输出455、-123. 987654,宽度为5,分别左对齐和右对齐
格式:
输入格式:无
输出格式:输出为整型,空格分隔。每个数的输出占一行
样例一:
输入:无
输出: 455 455
-123 - 123
987654 987654
答案:
def main():
#code here
print("{:<5} {:>5}".format(455,455))
print("{:<5} {:>5}".format(-123,-123))
print("{:<5} {:>5}".format(987654,987654))
pass
if __name__ == '__main__':
main();
19、左右对齐
输出3.1415926、22.3456, 宽度为14,精度为6,分别左对齐和右对齐。
格式:
输入格式:无
输出格式:输出为实型,空格分隔。每个数的输出占-行。
样例一:
输入:无
输出: 3.141593 3.141593
22.345600 22.345600
答案:
def main():
#code here
print('%-14.6f %14.6f'%(3.141593,3.141593))
print('%-14.6f %14.6f'%(22.345600,22.345600))
pass
if __name__ == '__main__':
main();
20、输入宽度
输入123456789给变量a1、a2、a3, 宽度为3,然后输出a1、a2、a3,空格分隔。
格式:
输入格式: 123456789
输出格式:输出为整型,空格分隔。
样例一:
输入: 123456789
输出: 123 456 789
答案:
def main():
#code here
a = input()
a1 = "".join(a[0:3])
a2 = "".join(a[3:6])
a3 = "".join(a[6:10])
print(a1,a2,a3)
pass
if __name__ == '__main__':
main();
21、宽度精度
输出18.16054、17.676767, 宽度和精度由输入决定,右对齐。
格式:
输入格式:输入为宽度和精度整型,空格分隔。
输出格式:输出为实型,空格分隔。
样例一:
输入:63
输出: 18.161 17.677
答案:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int a,b;
cin>>a>>b;
cout<<setw(a)<<fixed<<setprecision(b)<<18.16054<<" ";
cout<<setw(a)<<fixed<<setprecision(b)<<17.676767;
return 0;
}
22、十六进制
输出202、117、70、130的十进制、八进制、十六进制数据形式,结果为0ddddd或0Xddddd。
格式:
输入格式:无
输出格式:输出为整型,空格分隔。每个数的输出占- -行。
样例一:
输入:无
输出: 202 0312 0XCA
1170165 0X75
700106 0X46
1300202 0X82 .
答案:
def main():
#code here
print("202", '0'+oct(202)[2:], hex(202).upper())
print("117", '0'+oct(117)[2:], hex(117).upper())
print("70", '0'+oct(70)[2:], hex(70).upper())
print("130", '0'+oct(130)[2:], hex(130).upper())
pass
if __name__ == '__main__':
main();
23、输入分隔符
输入“'a=22,b=b,c=14,d=d" 给变量a、b、C、d,然后再输出他们。
格式:
输入格式: a=22,b=b,c=14,d=d
输出格式:空格分隔
样例一:
输入: a=22,b=b,c=14,d=d
输出:22b14d
答案:
def main():
#code here
a = []
b = []
c = []
d = []
a,b,c,d = input().split(',')
print(a[a.index('=')+1]+a[a.index('=')+2],end=' ')
print(b[b.index('=')+1],end=' ')
print(c[c.index('=')+1]+c[c.index('=')+2],end=' ')
print(d[d.index('=')+1],end=' ')
pass
if __name__ == '__main__':
main();
24、四位数逆序
将一个四位数正整数(如1278)逆序(如8721)输出。考负数等特殊情况。
格式:
输入格式:输入为整型
输出格式:输出为逆序后的字符串
样例一:
输入: 1234
输出: 4321
答案:
def main():
#code here
number = input()
print(number[::-1])
pass
if __name__ == '__main__':
main();
25、进制乱炖
输入一个正整数,输出它的十进制形式、八进制形式、十六进制形式(小写)、无符号的十进制形式, 空格分隔。
格式:
输入格式:输入整型,空格分隔。
输出格式:输出整型,空格分隔。
样例一:
输入: 33
输出:33 41 21 33
答案:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n;
scanf("%d" ,&n);
printf("%d %o %x %u",n,n,n,n);
return 0;
}
26、%s格式符
输入字符串,然后输出前3个字符,要求占6列,右对齐。
格式:
输入格式:输入字符串
输出格式:输出字符串
样例一:
输入: Wendy
输出: Wen
答案:
def main():
#code here
x = input()
print("%6s" %(x[:3]))
pass
if __name__ == '__main__':
main();
27、%f格式符
输入一个实数,第一一次按实型输出; 第二次保留2位小数输出;第三次保留3位小数但最小列宽8列输出,空格分隔。
格式:
输入格式:输入实型
输出格式:输出实型,空格分隔。
样例一:
输入: 31331 . 1434 5435
输出: 31331.143454 31331.14 31331.143
答案:
def main():
#code here
x = float(input())
print("%f %.2f %8.3f" %(x,x,x))
pass
if __name__ == '__main__':
main();