深大C语言
请勿抄袭,自主coding才会有提升。
归忆_AC
for dream in szu...会看消息,欢迎交流,若有错误可以私信反馈。
实验报告仅供参考!
展开
-
【深大C语言OJ】求m到n之间的素数和----函数
接着在 main 函数中,通过输入得到两个整数 m 和 n,然后使用一个循环遍历从 m 到 n 的所有数,调用 isprime 函数判断是否为素数,如果是素数则加到 sum 中。最后输出 sum 即为 m 到 n 之间所有素数的和。输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。首先定义一个 isprime 函数,用于判断一个数是否为素数。没有注意到1不是素数,没有排除1。原创 2024-02-21 15:17:20 · 777 阅读 · 0 评论 -
【深大C语言OJ】投票选举(字符串比较)
这个函数用于比较两个字符串,返回一个整数值,表示两个字符串的大小关系。设有3个候选人,每个选民投票输入一个得票的候选人的名字,要求最后输出各人得票结果。三个候选人的名字分别为Li, Zhang, Fu。正确的方法应该是用字符数组存名字,再去比较每一位。这道题的题意很明确,就是统计字符串的出现次数。如果 str1 大于 str2,则返回正整数。如果 str1 小于 str2,则返回负整数。如果 str1 等于 str2,则返回 0。这段代码的思路方向是对的,就是比对字符串。另外,Zhang的Z也写错成了J。原创 2024-02-21 15:15:31 · 502 阅读 · 0 评论 -
【深大C语言OJ】【填空题】字符串中字符排序
即若有字符数组str存字符串“abbc”,首先输出str[0],即’a’,然后last存入‘a’,然后从i=1开始循环。i=1,str[i]为’b’,last为‘a’,不相同,所以输出‘b’,输出后更新last为’b’。i=3,str[i]为’c’,last为‘b’,不相同,所以输出‘c’,输出后更新last为’c’。编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。i=2,str[i]为’b’,last为‘b’,相同,所以不输出。其实就是三大块,输入,排序,输出。原创 2024-02-21 15:13:34 · 446 阅读 · 0 评论 -
【深大C语言OJ】字符串替换
如果是,则在str2中存入 "we" 并将循环变量 i 向前移动两个位置(因为for循环本身有i++,所以此处是+2),以跳过 "you"。因此我们可以用char str1[1000]来存储每行的字符串,用char str2[1000]来存储替换后的字符串,用while (gets(str))来逐行读入,接下来三个三个的进行判断,将所有的you替换为we。程序的要求是将字符串中的所有"you"替换成"we",并且输入包含多行数据 ,以EOF结束,每行数据是一个字符串,长度不超过1000。原创 2024-02-21 15:11:02 · 388 阅读 · 0 评论 -
【深大C语言OJ】不三不四喜七之数
注意条件是这三个if (i % 3!= 0 && i % 7 == 0),不要漏了。如果一个数字不能被3整数,也不能被4整除,但能被7整除,就称为不三不四喜七之数。错误示范1:for (int i = 1;这道题难度不大,题意很明显和直观,不要看漏条件就好。给出数字N,统计1至N之间的满足条件的数值的数量。第二行起,每行输入1个N表示数值范围,输入T行。每行输出1至N之间,满足条件的数值的个数。第一行输入T表示有T个测试实例。注意输出格式要有换行。错误示范2:条件缺失。原创 2024-02-20 16:36:31 · 374 阅读 · 0 评论 -
【深大C语言OJ】最强字母(循环)
在大写字母之间按字母表顺序,越靠前越大,例如A比B大,B比C大,Z在大写字母中最小。定义两个字符变量,ch 用于存储当前读取的字符,max 用于存储当前找到的最小字符。8.输出结果: 循环结束后,输出找到的最小字符 printf("%c", max);将 max 初始化为第一个读取的字符。7.读取下一个字符: 使用 scanf("%c", &ch);5.比较字符大小: 在循环中,判断当前读取的字符是否小于当前最小字符 max。6.更新最小字符: 如果当前字符小于 max,则更新 max 为当前字符。原创 2024-02-20 16:34:32 · 430 阅读 · 0 评论 -
【深大C语言OJ】输出m到n之间的水仙花数(循环)
如果一个三位数等于它自己的每一位数字的立方之和,则称此数为“水仙化数”,如153=13+53+33。给出范围的起止值(假设起止值均是三位数),输出该范围的水仙花数。注意:注意要用k存i,不然while循环会改变i的值,i的值改变会影响for循环。注意要用新的变量存i,不然while循环会改变i的值,i的值改变会影响for循环。3.水仙花数判断: 对于每个三位数,提取各个位上的数字,计算各位数字的立方和。范围的开始与终止值(开始值和终止值均是三位数,不用判断数字有效性)错误示范2:没有int k = i;原创 2024-02-20 16:32:39 · 395 阅读 · 0 评论 -
【深大C语言OJ】n!(循环)
在循环中,我们将1到n的每个数都乘到 factorial 上,最终得到 n 的阶乘。2.初始化阶乘结果:创建一个变量 factorial 并将其初始化为1,因为任何数的阶乘乘积的初始值为1。需要注意累乘和累加的区别,累乘应该初始化为1,否则后面累乘的结果永远为0。4.输出结果:将计算得到的阶乘结果输出到标准输出,带有相应的标记,例如 "n!3.计算阶乘:使用循环从1到n,将每个数乘到 factorial 上,得到阶乘的结果。,就是计算1*2*3*...*n的乘积。需要注意累乘的范围,即1-n。原创 2024-02-20 16:30:03 · 446 阅读 · 0 评论 -
【深大C语言OJ】简单四则运算
定义两个整数类型int的变量,然后调用scanf函数将输入的数据赋值给int变量,最后调用printf函数输出a-b,a+b,a*b,a/b的结果。输入两个整数a和b,依次输出这两个数的四则运算结果,即a-b,a+b,a*b,a/b。原创 2024-02-19 20:54:44 · 387 阅读 · 0 评论 -
【深大C语言OJ】对齐输出(格式化输出)
因为是输出部分的变化,所以我们需要调整printf函数中的内容,因为默认就是右对齐输出,所以这个可以不用管;至于占8个字符输出,将%d改为%8d即可。此题在输出整数的基础上多了两个要求,一个是每个整数占8个字符的宽度输出,一个是右对齐输出。另外还需要注意三个整数之间要用空格分开。只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。只有一行,包含三个整数,整数之间以一个空格分开。原创 2024-02-19 20:52:01 · 844 阅读 · 0 评论 -
【深大C语言OJ】小数的输入输出
定义一个浮点数类型float的变量,然后调用scanf函数将输入的数据赋值给float变量,最后调用printf函数输出。printf输出浮点数默认保留六位小数,所以%f和%.6f都符合题意。注意:float类型在scanf和printf函数中对应%f。输入一个小数,并输出。原创 2024-02-19 20:49:52 · 351 阅读 · 0 评论 -
【深大C语言OJ】字符的输入输出
定义一个字符类型char的变量,然后调用scanf函数将输入的数据赋值给char变量,最后调用printf函数输出。注意:char类型在scanf和printf函数中对应%c。原样输出之前输入的那个字符。输入一个字符,并原样输出。原创 2024-02-19 20:47:59 · 329 阅读 · 0 评论 -
【深大C语言OJ】整数的输入输出
定义一个整数类型int的变量,然后调用scanf函数将输入的数据赋值给int变量,最后调用printf函数输出。注意:int类型在scanf和printf函数中对应%d。输入一个整数,并原样输出。原样输出前面输入的整数。原创 2024-02-19 20:44:04 · 374 阅读 · 0 评论 -
【c语言】一个例子明白递归,简单递归实现遍历数组(附图)
递归是一种在函数定义中使用函数自身的编程技术。在递归过程中,函数将问题分解为规模较小的子问题,并通过调用自身来解决这些子问题。递归通常用于解决可以被拆分成相似子问题的问题。在使用递归时,需要小心处理基本情况,以防止出现无限递归的情况。定义了递归的终止条件。当函数达到基本情况时,不再继续递归调用,而是返回一个直接的结果。定义了将问题分解为更小规模的子问题的方法,并通过递归调用自身来解决这些子问题。打印返回递归的信息。打印返回递归的信息。打印返回递归的信息。打印返回递归的信息。原创 2023-12-15 12:33:10 · 500 阅读 · 2 评论 -
【c语言】printf保留小数输出会四舍五入吗?
意思是,变量x是浮点类型,那就可以用x=(int)((x*1000+5)/10) / 100.0 来实现四舍五入。初步分析,pritnf函数不会进位,如果没有进位情况的话,是可以实现四舍五入的,否则不然。今天突然遇到一个问题:printf保留小数输出会四舍五入吗?简而言之,printf并不会严格实现四舍五入。因此决定测试一下,以下均保留两位小数输出。这时我们发现,a和b竟然都是3.19。那么,有什么其它办法实现四舍五入吗?这么一看好像确实可以实现四舍五入?其实不然,再看一组测试样例。此时就实现了四舍五入。原创 2023-12-02 17:13:06 · 2515 阅读 · 0 评论 -
举例说明逻辑左移、算术左移、逻辑右移、算术右移
首先需要明确几个概念:1.计算机操作的都是补码。2.正数的补码和原码相同,负数的补码等于原码取反后+1.3.需要先确定位数(如8位、16位、32位),因为有可能会出现溢出的情况。原创 2023-11-02 11:52:56 · 6978 阅读 · 2 评论 -
【c语言和c++的不同-输出篇】保留小数、输出宽度、左对齐、右对齐(简略版)
setprecision()单用的话是确定输出位数,它和setw()不同在于,若宽度设置小于变量的宽度,setw()会无效,而setprecision()会截取,如4和5所示;若宽度设置大于变量的宽度,setprecisition()会无效,如2和6所示。再另外多举几个例子吧,%-12.3d表示,将整数int类型变量按宽度12位、保留3位小数,左对齐输;字符char类型对应的是%c,整数int类型对应的是%d,单精度浮点数float类型对应的是%f,为15位,则是%15lf,如2所示。原创 2023-10-17 15:52:23 · 3460 阅读 · 3 评论 -
【id:58】【25分】D. 表面积计算
第二行输入一个立方体的长宽高,长宽高均为小于100的正整数。给出一个立方体的长宽高,计算它的表面积。第一行输入参数T,表示有T个测试实例。输出每个立方体的表面积。原创 2023-10-10 16:48:09 · 69 阅读 · 0 评论 -
【id:22】【25分】C. 表达式求值
那么它左右两边的表达式的值都要为1,其相与后表达式才为1,否则为0。首先看a+b>c这个表达式,如果a+b>c的话那么表达式为真,其值为1;b==c这个表达式,若b和c的值相等则表达式为真,其值为1;若b和c的值不等,则表达式为假,其值为0。a+b>c && b==c是一个表达式,要明白这个表达式,你需要知道&&和==号相关知识。现在再看就很明了了,若a+b>c并且b等于c,则整体表达式的值为1,否则为0。对以下表达式进行求值,a、b、c是三个变量,它们都是小于100的自然数。原创 2023-10-10 16:38:49 · 131 阅读 · 0 评论 -
【id:14】【25分】B. Hello World(顺序)
输出一个字符串“Hello World”。原创 2023-10-10 16:12:40 · 28 阅读 · 0 评论 -
【id:9】【25分】A. 代码示范题a+b
【代码】【id:9】【25分】A. 代码示范题a+b。原创 2023-10-10 16:07:57 · 28 阅读 · 0 评论 -
【id:273】【33分】C. 字符串碎片(字符串)
一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:"aaa","bb",‘c’。输入字符串,请计算字符串的所有碎片及所有碎片的平均长度。对每组测试数据,输出字符串中按顺序出现的碎片和所有碎片的平均长度(相同碎片只输出一次,平均长度保留2位小数)。所有碎片的平均长度 = 所有碎片长度之和/碎片个数。每组测试数据为一行字符串。原创 2023-07-07 00:41:07 · 160 阅读 · 0 评论 -
【id:235】【20分】D. 字符串排序
通过比较相邻的两个字符串,如果前面的字符串ASCII值较小,则进行交换,直到整个数组排序完成。然后对于每组测试数据,依次读取该组数据的个数n和若干个字符串,并存储在二维字符数组a中。最后,按要求输出排序后的字符串数组。遍历数组a,逐个输出字符串,注意在每个字符串之间添加空格,最后一个字符串后不添加空格。程序通过冒泡排序对字符串数组进行降序排序,然后按要求输出排序后的字符串数组。对于给出的若干个(不超过10个)字符串(每个字符串的长度不超过20),按ASCII的顺序降序排序,然后输出。第一组测试数据的个数。原创 2023-07-06 18:48:16 · 107 阅读 · 0 评论 -
【id:479】【16分】D. 字符串操作(数组)
INSERT_STR index substr: 在下标为index的位置插入字符串substr,操作结束后输出字符串,保证操作合法。DELETE_RANGE left right: 删除下标为[left, right]的子串,操作结束后输出字符串,保证操作合法。INSERT_REVERSE_STR: 将字符串自身反转后的串接在自身后,操作结束后输出字符串。函数中,根据输入的操作类型调用相应的函数,并不断进行操作,直到输入。REVERSE_STR: 将字符串反转,操作结束后输出字符串。原创 2023-07-06 18:38:03 · 104 阅读 · 0 评论 -
【id:302】【20分】E. LELE的RPG难题(递归)
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.首先给出了前4个格子的涂法数量:a[1]=3, a[2]=6, a[3]=6, a[4]=18。注意:当n=3的时候,n-2就是第一个格子,因此不符合讨论中的设定 ,即【】中的内容;现在考虑n>3的情况,若第n-1个格子和第一个格子不同,则为f(n-1);因此总的情况为f(n)=f(n-1)+2*f(n-2);这样为2*f(n-2);原创 2023-07-06 18:22:32 · 63 阅读 · 1 评论 -
【id:146】【14分】D. 数列内元素移位----函数
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。来存储移位后的数列,然后将临时数组中的元素复制回原始数组。来确定每个元素的移动位置,确保移动后的数列循环。输入数据的个数n n个整数 移动的位置m。最后,使用循环输出移位后的数列元素。在主函数中,首先读取数列的长度。,然后使用循环读取数列中的元素。,用于将数列元素向后移动。函数中使用了一个临时数组。函数进行数列元素的移位。该代码实现了一个函数。接下来读取移动的位置。原创 2023-07-06 18:17:36 · 96 阅读 · 1 评论 -
【id:502】【34分】A. 数独验证(二维数组,函数)
数独是一种填数游戏,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。首先,使用两个一维数组来检查每一行和每一列是否满足要求,如果某个数字在同一行或同一列中出现了两次以上,则不满足要求。然后,使用一个二维数组来检查每一个九宫格是否满足要求,同样如果某个数字在同一个九宫格中出现了两次以上,则不满足要求。输入填数后的9×9盘面,写函数判断其是否是解,返回1或0。每组测试数据,如果满足数独要求,输出YES,否则输出NO。原创 2023-07-06 18:10:47 · 77 阅读 · 1 评论 -
【id:283】【14分】F. string to double(函数)
输入是若干行字符串,它们都包含不超过10个的字符,而且包含的实数不会超出double类型的表示范围。其中:参数str[]是需要转换的字符串,返回值表示字符串str[]转换为实数之后的结果。输出为若干行实数(保留6位有效数字,且不输出无意义的0),每一行输出与上述输入一一对应。需要编写一个函数,将字符串转换为double型实数。转换规则是:将字符串str[]中的全部数字字符转换为实数并返回。如果str[0]是“-”则表示转换后的实数是负数,否则是非负数。该代码实现了将字符串转换为double型实数的功能。原创 2023-07-06 18:01:57 · 462 阅读 · 1 评论 -
【id:465】【20分】A. 手机短号(函数)
如果是合法手机号,则将短号的前两位数字修改为固定的数字6,并重新排列手机号的后五位数字。自定义函数,参数为手机号(字符串),该手机号为合法手机号,则计算该手机号的短号,并用数组传回。假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。对每组测试数据,调用函数,根据返回结果,若为1,输出对应短号;主函数定义两个串,手机号串和短号串,调用该函数,输出error或得到的短号。中国移动:134,135,136,137,138,182,183,184。原创 2023-07-06 17:02:10 · 474 阅读 · 1 评论 -
【id:291】【16分】C. 上车人数(递归)
公共汽车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有n个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。根据输入的四个整数 a、n、m 和 x,计算从第 x 站开出时车上的人数。原创 2023-07-06 16:52:31 · 344 阅读 · 1 评论 -
【id:398】【16分】C. 万圣节派对(函数)
因为去凑热闹的人数非常庞大,几十W的数量级吧,自然要进场就需要有门票了。根据输入的两个数字 x 和 y,判断在 x 和 y 之间的六位门票编号是否满足一定的条件,并输出满足条件的门票编号。每一个门票号相邻的两位相差必须在四以下(≤4)(如016245是不行的)每一个门票号的每一位不能有三个连续相同的数字(如123335是不行的)对于每个测试,输出x到y之间的门票编号。子函数1,参数为n,判断数字n是否有三个连续相同的数字。子函数2,参数为n,判断数字n相邻的两位差是否在4以下。主要的逻辑是通过两个子函数。原创 2023-07-06 16:43:41 · 201 阅读 · 1 评论 -
【id:201】【20分】B. 矩阵旋转
第一行包含两个参数n和m,表示矩阵有n行m列,1<=n,m<=10。接下来输入n行数据,每行包含m个元素,每个元素用字母表示。输入一个N*M的矩阵,要求将这个矩阵右转90度后输出。该题难度不大,理清位置变化关系即可。输出右转90度后的矩阵。原创 2023-07-06 00:22:06 · 78 阅读 · 1 评论 -
电梯维修问题
该代码的功能是根据输入的三个整数 x、y 和 n,计算出一个值并输出。原创 2023-07-05 22:56:16 · 40 阅读 · 1 评论 -
单词变换(简洁)
主要的逻辑是通过判断空格和换行符的位置来确定单词的边界,并在合适的位置输出替换后的结果。该代码的功能是将输入的字符串中的 "you" 替换为 "we",并输出替换后的结果。该代码的功能是将输入的字符串中的 "you" 替换为 "we",并输出替换后的结果。如果是则输出 "we",并将下标移动到 "ou" 的最后一位,跳过已替换的部分;函数获取输入的字符串,然后遍历字符串中的每个字符,判断是否是 "you",如果不是,则直接输出字符。函数逐个读取字符,然后根据不同的情况进行处理和输出。原创 2023-07-05 22:55:57 · 46 阅读 · 1 评论 -
菜单选择(C语言)
【代码】菜单选择(3道题)原创 2023-07-04 21:16:22 · 1213 阅读 · 0 评论 -
八皇后问题(回溯递归-C语言-简单求解)
【代码】八皇后(回溯递归)原创 2023-07-04 21:12:27 · 86 阅读 · 0 评论 -
【id:294】【20分】E. IPV6(数组,函数)
作为下一个版本的互联网协议,IPv6的提出是因为IPv4定义的有限地址空间将被耗尽,地址空间的不足必将妨碍互联网的进一步发展。一个以冒号十六进制表示法表示的IPv6地址中,如果有连续的段,值都是0,那么这些值为0的段可以简记为::。每个地址中最多有一个::。IPv6的地址长度为128个二进制位(bit),将这128位的地址按每16位划分成一个段,将每个段转换成十六进制数,并用冒号隔开。例如:844C:75ED:0000:322D:E61A:0915:0000:0000 是一个合法的IPv6地址。原创 2023-07-04 21:05:27 · 109 阅读 · 0 评论 -
【id:232】【20分】B. 分类排序(函数)
2、查找函数int find(int a[],int n,int value)----在大小为n的a数组中查找值为value的元素,找到就返回元素的下标,找不到,就返回-1;若a为7或者12,则 输出为:89,15,9,3,78,34,12,6,0,-8.若a为2,则输出为:89,78, 34,15,12,9,6,3,2,0,-8.例如,10个数分别为6,89,34,12, 0,-8,78,15,9,3.若a为9,则输出为:-8,0,3, 6,12,15,34,78,89.第n组测试数据的10个整数。原创 2023-07-04 20:53:28 · 221 阅读 · 2 评论