- 博客(25)
- 收藏
- 关注
原创 在c/c++程序中new和malloc的区别
(2)new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故new是符合类型安全性的操作符。而malloc内存分配成功则是返回void * ,需要通过强制类型转换将void*指针转换成我们需要的类型。(4)使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算,而malloc则需要显式地指出所需内存的尺寸。(1)malloc与free是C++/C的标准库函数,new/delete是C++的运算符。malloc分配内存失败时返回NULL。
2024-08-03 10:49:11
270
原创 辨析sizeof,strlen,length和size
(4)size()也是成员函数,C++中size()函数除了跟length()函数一样可以获取字符串长度之外,还可以获取vector类型或者其他的一些STL容器类型的长度;(3)length()是一个成员函数 C++中length()函数用来获取字符串长度。(2)strlen()是库函数,返回字符串本身长度,且不包含‘\0’;(1)sizeof()是一个运算符,用于计算变量所占内存空间的大小;sizeof(a)是指出整个数组大小,而不是数组a的元素个数;
2024-08-03 09:55:00
322
原创 c++ 中cin输入类型与定义类型不符
这时,我们虽然避免了输出了错误数据,但是缓冲区依然被占据,我们无法进行第二次输出,这时我们就需要用到两个函数;这是因为第一次输入’q‘时,q与我们给m所定义的int型所不符,因此输入失败,输出结果为0,同时’q'还占据了缓冲区,使得我们无法继续输入;cin.ignore(a,ch)方法是从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用;这时我们需要检查输入的数据类型是否正确,我们需要用到cin.fail函数检查输入数据的合法性;此时我们再输入q时,则会发生下面的情况;
2023-04-09 17:57:53
1468
原创 “21天好习惯”第一期——21
道友们,今天是活动的最后一天,这些天每天都和大家分享我的学习经验,我也收获了很多,今天之后就要和大家说再见了。不过,以后有机会我还是会和大家分享我的学习经验。今天的题目是一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?对于这道题我依旧给出两种答案#include<stdio.h>int main(){ int i,a,b,n;
2021-11-12 22:43:59
729
原创 “21天好习惯”第一期——20
道友们好,废话不多说,来看看我给大家带来的题目题目内容:美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是一个4位数。我年龄的4次方是一个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”请你编程算出他当时到底有多年轻。【解题思路】:因为已知年龄的立方是一个4位数字,所以可以推断年龄的范围在10到22之间,因此确定
2021-11-11 21:39:48
181
原创 “21天好习惯”第一期——19
道友们好(日常问候),今天我和大家分享一道题目本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留三位小数。这道题主要就是考察for语句的使用我这里提供两住答案、#include <stdio.h>int main(){ int n,a=-1; double sum = 1, i; scanf("%d",
2021-11-10 21:02:02
378
原创 “21天好习惯”第一期——18
道友们好,不知不觉中已经17天,我很高兴与大家分享学习经验,我将继续努力与大家共同进步。我发现许多同学不会找错误,所以我今天和大家谈谈如何查找错误我先谈谈具体有那些错误1)语法错误出现错误的原因: 1、符号错误(引号、逗号、分号错误;使用了中文符号) 2、变量未定义 3、缺少头文件 4、变量赋值、运算时变量类型不匹配2)逻辑错误出现的原因:1,=与==的误用;2,没有&遇到这些问题我们可以用debag...
2021-11-09 23:04:14
76
原创 “21天好习惯”第一期——17
道友们好,不知不觉中已经17天,我很高兴与大家分享学习经验,我将继续努力与大家共同进步。我发现许多同学不会找错误,所以我今天和大家谈谈如何查找错误我先谈谈具体有那些错误1)语法错误出现错误的原因: 1、符号错误(引号、逗号、分号错误;使用了中文符号) 2、变量未定义 3、缺少头文件 4、变量赋值、运算时变量类型不匹配2)逻辑错误出现的原因:1,=与==的误用;2,没有&遇到这些问题我们可以用debag...
2021-11-08 23:03:38
100
原创 “21天好习惯”第一期——16
道友们好,我是来补昨天的,真是个悲伤的故事今天我和大家聊聊if语句首先是if(判断条件)//(1)浮点数无法与 0 比较,只能用近似的值比较;(2)判断用==赋值用={语句}然后是if(判断条件){语句1}else{语句}最后是if(判断条件1){语句1}else if(判断条件2){语句2}else{语句3}如果是3个以上,则if(判断条件1){语句1}else if(判断条件2){语句2}else if(判断条件3){语句3}......el
2021-11-07 22:11:06
96
原创 “21天好习惯”第一期——15
道友们好,昨天在看比赛,因此忘掉了。我在这说声抱歉,我会把昨天的补上。edg牛逼。废话不多说,看题目:题目内容:利用人工方式比较分数大小的最常见的方法是:对分数进行通分后比较分子的大小。请编程模拟手工比较两个分数的大小。首先输入两个分数分子分母的值,例如"11/13,17/19",比较分数大小后输出相应的提示信息。例如,第一个分数11/13小于第二个分数17/19,则输出"11/13<17/19"。对于这道题我有两种解法1)通分 2)转换成小数#include<std.
2021-11-07 21:34:51
108
原创 “21天好习惯”第一期——12
活动已经过半,道友们,我们坚持到现在已经很棒了;但是我们要继续坚持下去,努力学习,分享快乐。今天,我来给大家分享我的学习成果。今天我要分享的是一道题输入一个整数,得到从一到该数的阶乘;#include <stdio.h>#include <math.h>int main(){ int n,a,sum; scanf("%d",&n); for(a=1;a<=n;a++) { sum*=a;
2021-11-03 22:40:45
100
原创 “21天好习惯”第一期——10
道友们好,今天我碰到一道让我头疼的题目,这里我把他分享给大家本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元; 超起步里程后10公里内,每公里2元; 超过10公里以上的部分加收50%的回空补贴费,即每公里3元; 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。输出格式:在一行
2021-11-01 23:35:20
168
原创 “21天好习惯”第一期——8
道友们好,今天虽然是星期六,但是也要努力学习啊!今天我要分享的是switch语句(由于之前不知道如何再csdn上写代码,所以用的都是截图,直到今天才搞明白,尴尬),他是选择语句的一种,相比于if语句,他看起来更简洁1)switch的形式#include <stdio.h>int main(){ char a; scanf("%c",&a); switch(a){ case 'a': //break是结束整个循环,如果没有则继续执行,这
2021-10-30 16:59:44
95
原创 “21天好习惯”第一期——7
道友们好,我又来分享我今天的学习收获了我今天学到了数组的表示和使用(以下是我查询资料和我个人总结的,如有不对还请指正)1)首先数组的形式2)数组的使用先看下面的代码:这只是我所学到的简单数组,内容很浅想要了解更多还需要多多学习,让我们共同进步...
2021-10-29 18:11:29
112
原创 “21天好习惯”第一期——6
今天我通过做一道题了解到了循环语句,感谢“21天好习惯”又让我学到了新的知识题目是这样的:刚开始我拿到题目是有点蒙的,凭借我们所学的知识暂时无法解答。但是老师说过程序员遇到不会的问题要学会用百度;我通过搜索知道了循环语句,理解之后做出了这道题。#include <stdio.h>int main(){ int m,n,i,sum=0; scanf("%d%d",&m,&n); i=m+1; while(i<n) {...
2021-10-28 18:32:00
113
原创 “21天好习惯”第一期——4
今天我通过课后习题学会了时差的计算,这里就给大家展示:其实只要想到了就很简单只需要将小时转换成分钟,在与分钟相加,然后相减取绝对值,最后在转换成小时:这里是我做的一道习题:题目内容:编程从键盘任意输入两个时间(例如4时55分和1时25分),计算并输出这两个时间之间的间隔。要求不输出时间差的负号。程序的运行结果示例1:Input time one(hour, minute):4,55↙Input time two(hour, minute):1,25↙3 hour 30..
2021-10-26 18:08:40
157
原创 “21天好习惯”第一期——3
今天给大家分享进制的表达和随机数的使用:1)进制的表达:十进制用:%d八进制用:%o十六进制用:%x无符号整型:%u字符:%c小数:%f %lf废话不多说,上题目:本题目要求读入1个整数,输出此整数的十进制表示,八进制表示和十六进制表示,还有无符号整数表示。输入格式:输入一个整数。输出格式:输出此整数的十进制表示,八进制表示和十六进制表示,还有无符号整数表示(中间用“,”分隔)。#include <stdio.h>int ma..
2021-10-25 09:29:07
85
原创 “21天好习惯”第一期——2
今天,我又学会了如何向上取整,这里就向大家展示:用整数N处以M,要求向上取整:1)int n=(N+M-1)/M;示例:有N个苹果要全部装盘,每个盘子装4个,编程输入苹果数量N,输出这些苹果能装多少盘输入格式:一个整数N。输出格式:一个整数,盘子数量。之前我是用条件语句:#include <stdio.h>int main(){ int x,y; scanf("%d",&x); y=x/4; if(x/4==...
2021-10-24 17:08:50
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人