- 博客(44)
- 收藏
- 关注
原创 L2-3 正整数A+B
题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。
2024-11-14 17:56:45
337
1
原创 L2-2 十二进制字符串转换成十进制整数
输入一个以#结束的字符串,要求滤去所有的非十二进制字符(不分大小写),组成一个新的表示十二进制数字的字符串,然后将其转换为十进制数后输出。题目保证输出在长整型范围内。
2024-11-14 16:40:20
220
原创 L2-1 进制转换(Q进制转换成T进制)
给定一个整数Q(2<=Q<=10),一个非空字符串,以及另一个整数T(2<=T<=10), 编程要求过滤掉字符串中所有非Q进制数对应的字符组成一个新的字符串,该字符串无正负号,将该字符串表示的Q进制数转换为T进制数的字符串输出。
2024-11-14 16:28:34
293
原创 L1-9 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
2024-11-13 20:35:42
235
原创 L1-7 字符串转换成十进制整数
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。
2024-11-13 10:00:30
295
原创 L1-5 字符串替换
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。看上去比较难搞,如果搞若干switch那肯定得看瞎。输出在一行中给出替换完成后的字符串。不如再来一个数组,存储倒序的字母。
2024-11-12 23:35:59
230
原创 L2-1【例7-12】 凯撒密码
为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。
2024-11-09 17:12:05
536
原创 L1-3【例7-14】【使用字符数组】 十六进制字符串转换成十进制非负整数
输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出。
2024-11-09 16:22:20
675
原创 L1-1H【例7-10】【使用二维数组】 计算天数[2]
在这里描述函数接口。例如: int day_of_year(int year, int month);其中yearmonth和day是用户传入的参数。函数返回年year、月month和日day对应的是该年的第几天。
2024-11-09 11:14:56
329
原创 L1-5【例7-4②】 交换最小值
本题要求编写程序,找出给定的N个数中的最小值,并将其与第一个数交换,最后输出交换后的序列。题目保证最小值是唯一的。
2024-11-09 00:17:24
247
原创 L1-3 【例7-3】 查找满足条件的所有整数
本题要求编写程序,将输入的n个整数存入数组a中,然后在数组a中查找给定的x。如果数组a中的元素与x的值相同,输出所有满足条件的元素的下标(下标从0开始);如果没有找到,输出“Not Found”。
2024-11-08 20:39:02
458
原创 L1-2【例7-2】 利用数组计算斐波那契数列
本题要求编写程序,利用数组计算菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证计算结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如::1,1,2,3,5,8,13,...。
2024-11-08 20:10:05
753
原创 L1-1H 在数组中查找指定元素
其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。
2024-11-06 10:54:46
272
原创 L1-2H 使用递归函数计算1到n之和
该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。
2024-11-03 15:18:41
134
原创 L1-1H 使用函数统计指定数字的个数
其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。
2024-11-03 15:09:03
235
原创 L2-5 单词加密解析
输入一个英文单词(由六个小写英文字母组成),按照下列过程将该单词加密:先将英文单词中的小写字母转换为对应的大写字母,再将该大写字母的ASCII码对10整除后取其余数,从而得到一个六位整数密码。按ASCII转换十进制只需要强制转化整形变量就可以,大小写转换就加减ASCII对应的数字差就可以。输入在一行中给出1个由六个小写英文字母组成的英文单词。按照规则转换成一个六位整数密码,并输出转换的过程。
2024-10-26 01:01:37
245
原创 L2-4 二分法求多项式单根
二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0。输入在第1行中顺序给出多项式的4个系数a3、a2、a1、a0,在第2行中顺序给出区间端点a和b。本题目要求编写程序,计算给定3阶多项式f(x)=a3x3+a2x2+a1x+a0在给定区间[a,b]内的根。感觉难点是判断f((a+b)/2)与f(a)是否同号,用&&判断是否同时大于/小于0应该可行。BYD那么多字吓死人了。
2024-10-26 00:34:52
424
原创 L2-3 到底有多二
但是但是但是梓子又想到,按照原先的方法,判断数字后再创建字符变量储存前一个字符,get到\n的时候再判断前一个字符是否为0/2/4/6/8是否可以,这样就无需如此繁琐创建那么多变量了。但是但是,在c语言中似乎无法处理50位的十进制数,即使使用longlong也只能处理64位的二进制数,,也就是说,我们只能用数字各个位存入数组或者存入字符再逐个判断的方式了。是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。犯二的程度,保留小数点后两位。
2024-10-25 17:16:00
264
原创 L2-2 实验4_4_进制转换一
在十进制数值系统中,最右边的数字是个位,个位的左边依次是十位、百位、千位等等。与之类似,在二进制数值系统中,最右边的数字是1位,左边的数字依次为2位、4位、8位等等。十进制数234可分解为4*100+3*101+2*102,二进制数1101可分解为1*20+0*21+1*22+1*23,它等价于十进制数1+0+4+8,即13。有异曲同工之妙,都是将2进制转为10进制,而我想获取各个位置上的数字这个操作大家已经很熟悉了,那么同样的只需要获取各个位上的数字后与2做幂运算再相加就可以得到10进制数了。
2024-10-25 11:29:09
273
原创 L2-1 加密数
但学习位运算之后就有了突破口了,我们可以想到,二进制是每二进一的,那么一串二进制数1所在位高即是2的位高-1次方,如00000000 10000000就是2的8-1=7次方00000010就是2的1次方。有一个32位的int型的整数是一个加密数,它实际表示为另一个数,即将该数从高位至低位的每8位作为一个数(无符号)进行求和后的数。那么我们以每8位为一次循环,循环中计算原值,循环结束后记录和并清零重新开始。题目意思很容易理解,难的是怎么将每8位数拆开运算。现有一组这样的数,将其解密后输出。
2024-10-25 11:15:57
236
原创 L1-3 位运算
值得注意的是对于置0需要将1左移后取反才能得到相应用来取反的数,如果直接用0会发现后面的位同样被置0了。第1行:输入一个十进制整数。(32位int取值范围,其二进制数补码表示)其实位运算和左右移都知道,但不明白怎么对特定的位做运算后移回去。给定一个数,将该数的某二进制位上置0、置1或取反。诶☝🏻️🤓,我把用来运算的数左移不就好了。第2行后:每行输入一个位操作运算要求。或 文件结束(EOF标志)。在这里给出相应的输出。格式:输入位操作运算类型(在这里给出一组输入。输出位运算后的整数值。
2024-10-25 10:45:32
194
原创 L2-8 逻辑判断-谁做了好事!
可以建立循环,定义i,以1、2、3、4、5、6代表A-F;即当i==1是A做的好事,i==2时是b做好事,以此来推断其他人说的话为真或假;= 1,B说真话的话i==3,假如为真则说真话的人+1;定义一段数组,判断先试着能不能用1/0来表示,那么用if判断代表了A-F的数组中的数为1/0,为1(真)输出对应的字符,为0则不输出,同时如果非第一位则在输出前打印‘or’ ,否则不打印。有可能做好事的同学(A-F),如果有多位同学有可能做好事,则同学名称按字典序全部输出。Made by 梓梓子。
2024-10-21 21:24:48
395
原创 实验4-2-9-嵌套循环 梅森数
形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。输入在一行中给出正整数n(n<20)。只需for找出各个数并判断就可以。
2024-10-18 19:28:24
195
原创 L2-1【位运算示例2】 整数内码
对于每个n,输出其对应的32位二进制的机内码与原整数,二进制码每8位空1格,二进制码与原整数之间用“ <->”间隔。每个结果对应一行输出。这题乍一看好像会做,但又一看发现根本不会,上课看到的是转16进制输出,搜了一下也确实没有直接转为2进制输出的。输入数据中含有若干整数n,int型取值范围,整数之间空格符间隔或换行符间隔,以^Z或文件结束符结束输入。于是只能寻找方法算它的二进制,随后发现num >> 似乎是用数字的二进制转化的。num >> i 就是将某数的二进制向右移动i位,高位用0填充。
2024-10-18 19:17:40
261
原创 统计单词的数量并输出单词的最后一个字符
本题目要求编写程序,统计一行字符中单词的个数,并将每个单词的最后一个字符输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。首先想到需要储存两个字符,在后一个字符为‘ ’或‘\n’的的时候输出前一个字符。在第一行输出每个单词的最后一个字符。同时在多个‘ ’的情况下不能发生错误。在第二行输出单词的个数。
2024-10-16 10:47:57
291
原创 嵌套循环 输出整数各位数字
如果这道题只是低位到高位的话肯定比较简单,但这是从高位到低位,就无法直接用10取余整除,这梓子就想到 可以优先判断位数,在慢慢整除获取各位数并打印出来。本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入在一行中给出一个长整型范围内的非负整数。
2024-10-10 20:21:21
250
原创 嵌套循环 找完数
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。但是输出要求输出各个数相加,那就循环下找出并判断完完数之后找出能够将其整除的数输出相加。输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。所谓完数,就是所有可以整除自身的数相加等于自身,如题目的6,28。
2024-10-10 11:21:43
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人