练习编程题-第二期

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();
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S1Lu

多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值