牛客网语法篇练习复合类型(一)

简介: 牛客网语法篇练习复合类型(一)

1.试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?

例如,在1到11 中,即在1、2、3、4、5、6、7、8、9、10、11 中,数字1 出现了4 次。

n,x =list(map(int,input().split()))
s = ''.join(str(i) for i in range(1,n+1))
print(s.count(str(x)))

2.输入10个整数,要求按输入时的逆序把这10个数打印出来。

  逆序输出,就是按照输入相反的顺序打印这10个数。

num =  input().split()
print(' '.join( num[::-1]))

3.输入数字N,然后输入N个数,计算这N个数和。

n = int(input())
s = list(map(int,input().split()))
print(sum(s))

4.输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。

n=int(input())
b=list(map(int,input().split()))
print(max(b)-min(b))

5.期中考试开始了,大家都想取得好成绩,争夺前五名。

从键盘输入 n 个学生成绩,输出每组排在前五高的成绩。

a=int(input())
b=list(map(int,input().split(" ")))
c=sorted(b,reverse=True)
d=' '.join(map(str,c[0:5]))
print(d)

6.输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。

n,m =map(int,input().split())
a,b = [], []
a = list(map(int,input().split()))
b = list(map(int,input().split()))
a.extend(b)
a.sort()
print(*list(a))

7.输入一个整数序列,判断是否是有序序列,

即序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。

n = int(input())
a = list(map(int, input().split()))
b = sorted(a)
c = sorted(a, reverse=True)
if a == b or a == c:
    print('sorted')
else:
    print('unsorted')

8.有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,

保证插入新数后,序列仍然是升序。

n = int(input())
l = list(map(int,input().split()))
l.append(int(input()))
l.sort()
c= map(str,l)
print(" ".join(c))

9.有一个整数序列(可能有重复的整数),现删除指定的某一个整数,

输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。

n = input()
data = list(input().strip().split())
x = input()
while data.count(x):
    data.remove(x)
for i in data:
    print(i,end=" ")

10.输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,

是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。

num=int(input())
lis=list(map(int,input().split(" ")))
new_lis=list(set(lis))
new_lis.sort(key=lis.index)
print(" ".join(map(str,new_lis)))

11.给定n个整数和一个整数x,小乐乐想从n个整数中判断x出现几次,请编程帮他实现。

n=int(input())
a=list(map(int,input().split(' ')))
f=int(input())
res=a.count(f)
print(res)

12.用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。

def prime(n):
    a = []
    m = list(range(2, n+1))
    a = m
    count = 0
    for i in m:
        for j in a:
            if j%i==0 and j!=i:
                m.remove(j)
                count +=1
    print(*m)
    print(count)
while True:
    try:
        n =  int(input())
        prime(n)
    except:
        break

13.输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。

li =[]
for i in range(5):
    li.append(list(map(float,input().split())))
for i in li:
    print('%.1f %.1f %.1f %.1f %.1f %.1f'%(i[0],i[1],i[2],i[3],i[4],sum(i)))

14.KiKi得到了一个n行m列的矩阵,现在他想知道第x行第y列值是多少,请帮助他完成这个任务。

n,m=map(int,input().split())
m=[]
for i in range(n):
    a=list(input().split(' '))
    m.append(a)
x,y=map(int,input().split())
print(m[x-1][y-1])

15.KiKi想从n行m列的方阵队列中找到身高最高的人的位置,请你帮助他完成这个任务。

n,m=map(int,input().split(" "))
lis=[list(map(int,input().split(" "))) for i in range(0,n)]
a=[]
for i in range(0,n):
   a.append(max(lis[i]))
max_num=max(a)
x=a.index(max_num)
y=lis[x].index(max_num)
print(x+1,y+1)

16.KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。

(当两个矩阵对应数组元素都相等时两个矩阵相等)。

n, m = map(int, input().split())
l = [[] * n for _ in range(n)]
for i in range(n):
    l[i] = list(map(int, input().split()))
    l_list = l.copy()
for i in range(n):
    l[i] = list(map(int, input().split()))
    l2_list = l.copy()
if l_list == l2_list:
    print('Yes')
else:
    print('No')


相关文章
|
7月前
|
编译器 测试技术 C语言
从C语言到C++_11(string类的常用函数)力扣58和415(下)
从C语言到C++_11(string类的常用函数)力扣58和415
30 0
|
7月前
|
存储 C语言 C++
从C语言到C++_11(string类的常用函数)力扣58和415(上)
从C语言到C++_11(string类的常用函数)力扣58和415
40 0
|
7月前
|
存储 编译器 C语言
从C语言到C++_11(string类的常用函数)力扣58和415(中)
从C语言到C++_11(string类的常用函数)力扣58和415
34 0
|
7月前
|
存储 C语言
C语言程序设计——赋值表达式
C语言程序设计——赋值表达式
|
C语言
牛客网语法篇刷题(C语言) — 基本类型
牛客网语法篇刷题(C语言) — 基本类型
92 0
|
7月前
|
索引
leetcode-779:第K个语法符号
leetcode-779:第K个语法符号
50 0
|
存储 C语言
小白必看系列之c语言中常见操作符示例和用法总结(上)
小白必看系列之c语言中常见操作符示例和用法总结
118 0
|
存储 C语言
小白必看系列之c语言中常见操作符示例和用法总结(下)
小白必看系列之c语言中常见操作符示例和用法总结(下)
106 0
|
C语言
【行列转换】C语言二维数组入门
【行列转换】C语言二维数组入门
117 0
|
存储 C语言
小白必看系列之c语言中常见操作符示例和用法总结
小白必看系列之c语言中常见操作符示例和用法总结
119 0