一、刷题问题记录
共计110+167,计划每日7题,一周复习一天
主要使用语言python,在时间内存不足算法中学习C语言,并于此记录C语言笔记学习过程
1002.读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
pin = 'ling yi er san si wu liu qi ba jiu'
s = input()
ss = ''
sum = 0
for c in s:
sum = sum + eval(c)
pinyin = pin.split(' ')
sum_str = str(sum)
for c in sum_str:
ss = ss + '{} '.format(pinyin[eval(c)])
print(ss[:-1])
逗号的处理
s = ""
for i in range(100, 1000):
t = str(i) #字符化t
if pow(eval(t[0]),3) + pow(eval(t[1]),3) + pow(eval(t[2]),3) == i :
s += "{},".format(i)
print(s[:-1]) #这里用s控制不输出最后一个','
1032.挖掘机技术哪家强
输入格式:
输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
mount = int(input())
d = {}
for i in range(mount):
school_number,grade = map(int,input().split())
if school_number in d.keys():
d[school_number] = d[school_number]+grade
else:
d[school_number] = grade
match_result = sorted(d.items(),key=lambda x:x[1],reverse=True)
print(str(match_result[0][0])+' '+str(match_result[0][1]))
#includeconst int maxn = 100010; int school[maxn] = {0}; int main() { int n, schID,score; scanf("%d", &n); for(int i = 0; i < n; i++) { scanf("%d%d", &schID, &score); school[schID] = school[schID] + score; } int k = 1, MAX = -1; for(int i = 1; i <= n; i++) { if (school[i] > MAX) { MAX = school[i]; k = i; } } printf("%d %dn", k, MAX); return 0; }
二、C语言语法笔记



