C语言基础
比较基础的c语言问题,适合萌新。
分别有“基础c语言语法”“分支语句”“循环语句”“数组”“字符和字符串”“函数”“指针”“结构体”等知识点融合而成的12道题目。其中也少量涉及低效率的算法。
GalaxyerKw
努力学习,不当鸽子✧*。٩(ˊωˋ*)و✧*。
展开
-
【字符串】字符串压缩(其实是解压)(从字符串中抽离数字并转为整形)
问题描述 有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字符加上连续出现的次数来表示(连续出现次数小于3时不压缩)。例如,字符串aaaaabbbabaaaaaaaaaaaaabbbb可压缩为a5b3aba13b4。请设计一个程序,将采用该压缩方法得到的字符串解压缩,还原出原字符串并输出。输入说明 输入数据为一个字符串(长度不大于50,只包含字母和数字),表示压缩后的字符串输出说明 在一行上输出解压缩后的英文字符串(长度不超过100),最后换行。输入样例 a5b3ab原创 2020-12-17 21:50:14 · 943 阅读 · 0 评论 -
【综合】【流程控制】购票系统(多重循环逻辑要清晰)
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令,输出购票结果。原创 2020-12-14 16:58:50 · 310 阅读 · 0 评论 -
【字符串】拼数字并排序(抽离字符串片段)(临时扫描头)
问题描述 对于输入的字符串(只包含字母和数字),将其中的连续数字拼接成整数,然后将这些整数按从大到小顺序输出。例如字符串“abc123d5e7f22k9”中共有5个数字123,5,7,22,9,因此应输出123 22 9 7 5。输入说明 输入为一个字符串,字符串长度不超过100,其中最长的连续数字不超过10个,字符串中至少包含1个数字。输出说明 对于输入的字符串,在一行上输出排序结果,整数间以一个空格间隔。输入样例 abc123d5e7f22k9输出样例 123 22 9 7 5.原创 2020-12-13 12:08:20 · 353 阅读 · 0 评论 -
【字符串】字符串相似度(大小写敏感问题)(有起点的部分片段遍历)
问题描述 最长公共子串指给定的两个字符串之间最长的相同子字符串(忽略大小写),最长公共子串长度可用来定义字符串相似度。现给出两个字符串S1和S2,S1的长度为Len1,S2的长度为Len2,假设S1和S2的最长公共子串长度为LCS,则两个字符串的相似度定义为2LCS/(Len1+Len2)。例如:S1=”App”,S2=”apple”,S1长度为3,S2长度为5,它们的最长公共子串为”App”,长度为3,则相似度为23/(3+5)=0.75。现给出两个字符串,请计算它们的相似度结果保留3位小数。输原创 2020-12-12 22:20:29 · 863 阅读 · 4 评论 -
【结构体】复试筛选(结构体数组的冒泡排序方法)
问题描述 考研初试成绩公布后需要对m个学生的成绩进行排序,筛选出可以进入复试的前n名学生。排序规则为首先按照总分排序,总分相同则按英语单科成绩排序,总分和英语成绩也相同时考号小者排在前面。现给出这m个学生的考研初试成绩,请筛选出可以进入复试的n名学生并按照排名从高到低的顺序依次输出。输入说明 输入为m+1行,第一行为两个整数m和n,分别表示总人数和可以进入复试人数,m和n之间用空格分隔,0<n<m<200。接下来为m行数据,每行包括三项信息,分别表示一个学生的考号(长度不超过2原创 2020-12-12 17:56:14 · 918 阅读 · 0 评论 -
【多重循环】【流程控制】abc组合(“百文白鸡”穷举法)
在这道题之前,我要先介绍一种经典的问题“百文白鸡”的解法。问题大致为:鸡翁一只5块,鸡母一只3块,三只鸡雏1块,请问100块可以买多少组合,最终的鸡数必须也是100只。在C语言中,解决这样情况较多,但是关联点在于钱数加和确定的问题,可以用多重循环来解决。由于我找不到百文白鸡的原题,下面用一个类似的问题来充当引例:【换硬币问题】将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和原创 2020-12-05 23:53:24 · 689 阅读 · 0 评论 -
【数组】【字符串】机器人寻路(建立坐标系)
*昨天总结了将二维数组抽象为平面直角坐标系进行处理的思路,今天再分享一道类似方法的综合题。请看题目:.问题描述 机器人按照给定的指令在网格中移动,指令有以下四种:N 向北(上)移动S 向南(下)移动E 向东(右)移动W 向西(左)移动如下图所示,在网格1中,机器人初始位于网格第1行第5列,按照网格中的指令,机器人在走出网格前需要10步。在网格2中,机器人初始位于网格第1行第1列,按照网格中的指令,机器人将进入一个循环,永远走不出网格,且在进入循环前走了11步。假定机器人初始时刻总是在网格原创 2020-12-03 16:35:39 · 576 阅读 · 0 评论 -
【二维数组】相邻区域/相邻区块数(数组元素的类平面坐标表示方法以及遍历)
题目如下:一个n行m列的矩阵被划分成t个矩形区域,分别用数字1-t来标识,同一个区域内的元素都用同一个数字标识。如下图所示,一个6行8列的矩阵被分成8个矩形区域,分别用编号1-8标识。当两个小区域之间公用一条边时,称这两个区域相邻,例如下图中区域5的相邻区域有6个,分别为1,2,3,6,7,8,但4并不是它的相邻区域。请写一个程序找出区域k的所有相邻区域。输入说明输入第一行为四个整数n,m, t,k,整数之间用空格分隔。n表示矩阵行数(n<20),m表示矩阵列数(m<20),t表示矩阵被原创 2020-12-02 22:16:19 · 3225 阅读 · 0 评论 -
【字符串】表达式求值(字符型数字转整形数字)
问题描述表达式由两个非负整数x,y和一个运算符op构成,求表达式的值。这两个整数和运算符的顺序是随机的,可能是”x op y”, “op x y”或者 “x y op”,例如,“25 + 3”表示25加3,“5 30 *” 表示5乘以30,“/ 600 15”表示600除以15。输入说明 输入为一个表达式,表达式由两个非负整数x,y和一个运算符op构成,x,y和op之间以空格分隔,但顺序不确定。x和y均不大于10000000,op可以是+,-,*,/,%中的任意一种,分表表示加法,减法,乘法,除法原创 2020-11-30 21:39:15 · 1156 阅读 · 0 评论 -
【字符串】PTA试题——英文单词排序 (25分)
题干如下:本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。输入格式:输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。输出格式:输出为排序后的结果,每个单词后面都额外输出一个空格。输入样例:blueredyellowgreenpurple #输出样例:red blue green yellow purple...原创 2020-11-28 11:27:19 · 18026 阅读 · 9 评论 -
【字符串】PTA试题——敲笨钟(20分)
PTA试题——敲笨钟(20分)微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。*输入格式:输入首原创 2020-11-27 17:38:47 · 2227 阅读 · 0 评论 -
【数组】【字符】计算密码强度(计数器judge计数法)&补充题:灰度直方图
题目:计算密码强度问题描述 每个人都有很多密码,你知道你的密码强度吗?假定密码由大写字母、小写字母、数字和非字母数字的符号这四类字符构成,密码强度计算规则如下:基础分:空密码(密码长度为零)0分,非空密码1分加分项1:密码长度超过8位,+1分加分项2:密码包含两类不同字符+1分,包含三类不同字符+2分,包含四类不同字符+3分按照此规则计算的密码强度为0~5。请你设计一个程序计算给出的密码的强度。输入说明 输入为一个密码字符串,字符串长度不超过50个字符。输出说明 输出一个整数表示该密原创 2020-11-29 13:45:47 · 1071 阅读 · 0 评论