- 博客(20)
- 收藏
- 关注
原创 C转C++(2)
C++相对于C语言新增了一个很重要的东西就是STL(标准模板库),标准模板库包括了容器、算法和迭代器。这可以极大的简化在做算法题时的工作量。借用菜鸟教程的图片:(
2024-03-12 17:21:50
258
1
原创 C转C++(1)
C语言中使用<stdio.h>中的scanf和printf来输入输出,需要使用标识符,如“&d"等等,略显麻烦。而C++中的<iostream>中的cin和cout 会自动识别数据类型,使得输入输出更加简单。是C++中的一个语句,它表示在当前代码文件中使用命名空间std中的所有内容,而不需要在每个标识符前都加上前缀。C++的标准库中的各种类、函数、对象等都被放置在std命名空间中,为了使用这些标准库中的功能,你可以在代码文件的开头使用,这样就不需要在每次使用标准库的元素时都写上前缀。
2024-03-07 23:54:17
235
原创 实验13-1#335
假设3个学生信息如下学号(长整型)、姓名(字符串型)、年龄(整型)、C 语言成绩成 绩(实型)、微积分成绩(实型)、英语成绩(实型)、总分(实型)、平均分(实型)。该函数输入3个学生的上述信息,计算每个学生的总分和平均分,将每个学 生学号、姓名、总分、平均分存入grade结构数组。因为他是假设的有三个同学,实际上n可以是int 可表达的任意整数。试编写函数lab13_1,接收两个参数,依次是grade结构数组和数组长度。grade结构保存每个学生的学号,姓名,总分和平均分。
2023-11-15 01:21:02
256
2
原创 生成前n个自然数的一个随机置换#24
(1) 如下填入从A[0]到A[N-1]的数组A:为了填入A[i],生成不同于A[0],A[1],...,A[i-1]之间的随机数时,才将其填入A[i]2.例如n = 10时,数组的10个元素输出为2,8,5,1,10,9,3,6,7,4,但是需在结果后增加一个0。假设要生成前n个自然数的一个随机置换,如{4,3,1,5,2}和{3,1,4,2,5}就是一个合法置换;1.当参数n = 5时,如果数组的前5个元素为1,2,3,4,5,则在5后加上英文的逗号和0,(3) 首先填写数组使得A[i]=i+1;
2023-11-09 01:28:27
192
1
原创 统计子字符串出现次数#134
如 str = "hello world hello you";substr ="hello",子串substr在str中出现了2次。编写一个函数 int SubStrNum(char * str,char * substr) ,如 str ="hhhhhh";子串substr在str中出现了3次。它的功能是:统计子字符串substr在str中出现的次数。
2023-11-06 23:45:02
396
1
原创 mystcat#34
例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。source destination的结束要同时考虑空格和\0,最后记得在拷贝后加空格。将source指向的字符串的拷贝,添加到destination指向的字符串的末尾。遇到异常情况,输出"error";否则不要随意输出,会视为错误。注意:使用空格字符来表示字符串的结束。保存为functions.cpp。
2023-11-06 23:43:02
52
1
原创 del #36
与其他几道码图的题目一样,本题是用空格来标志一个字符串的结束,所以我们不用刻意的想'\0'出现在' '之前,因为这种情况下,在空格出现之前结束了对字符串的读取。s为NULL(matu愚蠢的系统可不认识null,至少这个题是这样的),n为负数,len为负数,n+len过大导致数组的越界。例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。在s指向的字符串中,从s第n个字符的位置开始,删除len个字符,结果通过指针s返回。
2023-10-31 18:21:38
101
3
原创 insert #35
分析:由于本题是用空格标识数组的结束,我们就不能用,<string.h>中的strlen来计算数组的字符数,我们要自己写一个执行这个功能的函数。例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。将s2指向的字符串的拷贝,添加到s1第n个字符的位置,原位置的字符后移。我们发现后移和增加这两部其实是及其类似的,我们可以将他们也写为两个函数。n=s1的字符串长度时,s2增加到s1的末尾。注意:使用空格字符来表示字符串的结束。
2023-10-31 17:47:10
123
1
原创 比较两个字符串是否相等#113
这道题比较简单,只有检验相等这一步需要注意,不需要特殊操作检验,因为不等情况会跳出函数。string1和string2最长为256,可能包含空格。输入格式:string1回车string2回车。编写程序,输入两个字符串,比较他们是否相等。输入:string1回车string2回车。输入:string1回车string1回车。输出:unequal。
2023-10-29 02:53:38
196
1
原创 指针练习之字符串拷贝#232
接收从键盘输入的一个字符串,并将其所有字符依次拷贝到另一字符串中,要求在拷贝的过程中每两个字符后增加一个*,完成拷贝后输出新字符串,并在输出完成后输出回车换行符表示结束。法二:我们先创建两个数组,一个存放字符串,另一个拷贝(注意最好不用两个指针来指向一个数组,这样会导致两个指针同时改变而无法达到本题的要求)提示:本题目可以先进行字符串拷贝,并在拷贝过程中添加*,拷贝结束后再输出新的字符串。样例输出1:ab*2d*3c(末尾有回车换行)样例输出3:ab**c*de(末尾有回车换行)样例输入3:ab*cde。
2023-10-29 01:57:03
948
2
原创 输出12个月的英文名称#316
编写一个程序,用 12 个月份的英文名称初始化一个字符指针数组,首字母大写。puts的版本,记得直接输出要加双引号,打印某个地址存储的变量时,只写地址,没有双引号。1 到 12 时,显示相应的月份名,键入其他整数时显示error!2.error后面的感叹号不要忘记了(哭)那不是语气助词。这是scanf的版本。
2023-10-28 21:50:57
719
1
原创 输入年、月输出该月的天数(两种方法实现)
可以通过数组的方式实现,注意存放时是从零开始,二月month=1,month==1,若相等就唯一,不等就为零,就可以使得我们只需要一个数组就可以完成目标。程序输入年、月,输出该月的天数。如果月份不为1~12之间的数字则转换为正确的月份,如13对应1月,不考虑月份为负数的情况。根据历法,凡是1、3、5、7、8、10、12月,每月31天;凡4、6、9、11月,每月30天;数组的方式需要我们存入数组,下面我们考虑不需要数组的方式。用switch case语句。如果年号能被4整除,而不能被100整除,此年为闰年;
2023-10-20 00:05:21
9194
原创 求5个正整数的最小公倍数
(通过调用对两个正整数求最小公倍数的函数实现)(参考函数原型:int find(int director, int j))编写函数int find(int director, int j);后面用数组重写了一遍,dev C++上跑是可以运行且结果正确的,但是在码图上就是显示结果错误。用递归计算两数的最大公约数,进而求出最小公倍数,进行四次以上操作得到五个数的最小公倍数。编写程序,从键盘输入5个正整数,然后求出它们的最小公倍数,并显示输出。在main函数接收5个正整数,然后输出最小公倍数。
2023-10-19 00:44:21
288
1
原创 实现字符串的拷贝
(1) 拷贝结束后,source的字符串不能被修改;destination字符串只有source第一个空格之前的串被替换,其余的字符都不能被修改。则拷贝结束后,source不变,destination:ab m(ab和m之间是2个空格)例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。(2) 字符串虽然是’\0’作为结束符,本题的字符串是一定会包含空格的。将source指向的字符串拷贝到destination指向的位置。
2023-10-12 15:58:38
293
原创 找出小于等于n的素数
这个题的一个关键点在于输入为a时如何返回error,这里可以使用scanf的一个特性——当scanf读到的数据类型与要求读到的数据类型不同时会返回0,相同返回1,检测到结束返回 EOF。以上代码太过无脑,如果其他题目中n>200,以上代码就无法执行功能了,所以需要一个计算是否为素数的函数来应对这样的情况。编写一个程序,找出1~N中的所有素数,其中1<N,N为整数。2.遇到异常情况,输出error。可以先写出下面的代码来检验这个特性。1.要求每个数后面都要输出逗号,提醒:数据最多不超过200。
2023-10-11 01:26:23
573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人