随笔分类 - 编程入门
摘要:摘要: 如果你学过 C 语言,那么当你初见 Python 时可能会觉得 Python 的赋值方式略有诡异:好像差不多,但又好像哪里有点不太对劲。 本文比较并解释了这种赋值逻辑上的差异。回答了为什么需要这种赋值逻辑以及如何使用这种赋值逻辑的问题。 当然,即使未学过 C 语言,也可通过本文更好地了解 P
阅读全文
摘要:C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。 1. 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶! 2. 其他人将得到巧克力。 给定比赛的最终排名以及一系列参赛
阅读全文
摘要:拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整); 每排其他人以中间人为轴,按身高非增序,先右后左交替入队
阅读全文
摘要:本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[ 1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。 输入格式: 输入第一行给出正整数N( 吐槽: 题目对 、`000.01
阅读全文
摘要:本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m n等于N;m =n;且m n取所有可能值中的最小值。 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数。所有
阅读全文
摘要:给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4)
阅读全文
摘要:著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定N = 5, 排列是1、3、2、4、5。则: 1的左边没有
阅读全文
摘要:如何使用指针访问二维数组? 先来看看在一维数组中怎样使用指针访问数组: 一维数组中 a[i] 中的 a 代表了本数组的 首地址 ,相当于 &a[0]。 因此 a 就等于 a[0]。 那么对 a 加 1,就可以访问下一位: (a+1) 就等于 a[1]。 可以看出,指针与数组的关系非常密切。好像两个类
阅读全文
摘要:给定某数字 A(1 ≤ A≤ 9)以及非负整数 N(0 ≤ N ≤ 1000000),求数列之和 S=A+AA+AAA+···+AA···A(N 个 A)。例如 A=1, N=3 时,S = 1 + 11 + 111 = 123。 输入格式: 输入数字 A 与非负整数 N。 输出格式: 输出其 N
阅读全文
摘要:将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。 输入格式: 每个输入包含一个测试用例,即正整数N (0 按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列 \(N_1={n_1, n_2,
阅读全文
摘要:本题要求编写程序,计算2个复数的和、差、积、商。 输入格式: 输入在一行中按照 的格式给出2个复数 和`C2=a2+b2i`的实部和虚部。题目保证C2不为0。 输出格式: 分别在4行中按照 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果
阅读全文
摘要:本题要求编写程序,计算N个有理数的平均值。 输入格式: 输入第一行给出正整数 N(≤ 100);第二行中按照 的格式给出 N 个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。 输出格式: 在一行中按照 的格式输出N个有理数的平均值。注意必须是该有理数的最简
阅读全文
摘要:通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入 N 条记录,并且根据要求显示任意某条记录。 输入格式: 输入在第一行给出正整数 N(≤ 10);随后 N 行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过
阅读全文
摘要:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。 输出格式: 每个测试用例的输出占一行,输出
阅读全文
摘要:输入一个字符串和一个非负整数 N,要求将字符串循环左移 N 次。 输入格式: 输入在第1行中给出一个不超过 100 个字符长度的、以回车结束的非空字符串;第 2 行给出非负整数 N。 输出格式: 在一行中输出循环左移 N 次后的字符串。 输入样例: Hello World! 2 输出样例: llo
阅读全文
摘要:我们已经知道了将 N 个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的 K( include int main () { int N, K; scanf("%d %d\n", &N, &K); //要输入一个回车,不然 gets 会得到一个回车,转为\0 存入第一个字
阅读全文
摘要:输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。 输入样例: Tomcat
阅读全文
摘要:一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王? 输入格式: 输入在一行中给一个
阅读全文
摘要:你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如 算一个单词,长度为4。注意,行中可能出现连续的空格;最后的 不计算在内。 输入格式: 输入在一行中给出一行文本,以.结束 提示:用 ;来读入一个字符,直到读到.为止。
阅读全文
摘要:分数可以表示为 的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。 输入格式: 输入在
阅读全文