HDOJ C语言学习记录
Crkylin
这个作者很懒,什么都没留下…
展开
-
HDOJ-2014
这道题不得不引入数组了:题目中要求,去掉一个最高分,去掉一个最低分,由于每个输入的数据都具有未知性,所以必须所有数据输入完毕,才能够判断出最大值最小值,所以就不得不用数组解答。...原创 2022-07-05 23:02:22 · 109 阅读 · 0 评论 -
HDOJ-2013
代码不难,主要是理解关系刚开始的时候,我又忘记了要在每一次输入开始时,初始化all的值。原创 2022-07-05 22:19:41 · 102 阅读 · 0 评论 -
HDOJ-2012 C语言详细解析
对题目进行分析,发现需要构造两个for循环和一个while循环,while循环即while(scanf())输入循环,当x=0 && y == 0 时退出即可。第一个for循环是当n取[x,y]的整数时,计算n^2+n+41的所有值;第二个for循环是对n^2+n+41的值进行素数判断。注意:必须n^2+2+41的所有值都是素数,才可以输出OK,否则输出sorry所以可以添加计数器,初值为0,当有一个值是非素数是,cnt++,如果cnt的结果最后为0,说明没有非素数,输出ok即可...原创 2022-07-05 19:52:00 · 455 阅读 · 0 评论 -
HDOJ-2011
自己又整了一堆很复杂的代码,既有以变量为数组容量的数组(容易导致问题出现,后面会详细说明),又有两个while(scanf())的嵌套,不过好在能符合题目的要求为什么说是严重的错误呢?首先就是不稳定因为第一次我把这一行放在main函数的第二行的时候,编译的时候没有出现问题,运行的时候出现了segmentation fault,但当我改变该行的位置,重新运行的时候,并没有出现segmentation fault,我以为问题就如此解决了。但接下来当我输入m的值为4的时候,又出现了问题可以明显看原创 2022-07-05 22:02:14 · 141 阅读 · 0 评论 -
HDOJ-2010
对于判断一个数是否是水仙花数的部分,可以构造一个独立的函数来判断,可以让代码的结构更加明晰。原创 2022-07-05 21:49:26 · 122 阅读 · 0 评论 -
HDOJ-2009
目录A.题解B.%.2f和%.2lf的区别作为学习过数列的一名学生,看到这种题自然而然地就会想引入一个数组,来存放每一项的值 这是采用数组的写法:在上面的代码中我们发现:arr[i]的某一项的生命周期仅仅是在一个for循环中,所以完全可以引入其他的变量来代替数组这是不采用数组的写法:B.%.2f和%.2lf的区别下面介绍一下%.2f和%.2lf的区别:%.2f表示输出的变量为浮点数,即float变量%.2lf表示输出的变量为双精度变量,即double变量虽然用%.2f来输出double变量、原创 2022-07-05 21:31:15 · 346 阅读 · 0 评论 -
HDOJ-2008
题目中输入示例有0.5,这让我想起要用浮点数来定义数组arr。但倘若输入示例没有0.5,那这道题我就一定会出现错误!在判断数字大小的时候,要注意应该把输入数据的数据类型定义为浮点数如果为整形:0.5会被当做0,导致结果错误...原创 2022-07-03 00:05:29 · 72 阅读 · 0 评论 -
HDOJ-2007
第一次写是这样的,看了下大佬的答案,发现大佬不愧是大佬。大佬指出:题目中并没有说所给连续的整数是从小到大还是从大到小所以应该增加一个if条件判断:在m>n的时候,交换m和n的值代码如下:...原创 2022-07-02 23:42:43 · 187 阅读 · 2 评论 -
HDOJ-2006
刚开始我是这样写的这里的操作是:将偶数的值变为1,然后在for循环中让res变量*a[j]在这道题里,可以满足要求,但却是存在不妥当的地方:这样做修改了输入数组的数值,如果后续要对该数组进行操作,那此方案一定不可行。于是又想了想,既然我在这里就可以判断每一项值的奇偶,那为何不让该数判断为奇数的时候,直接参与res的计算呢?于是就有了下面的代码:...原创 2022-07-02 23:24:27 · 120 阅读 · 0 评论 -
HDOJ-2005
很抱歉我第一次写出来用了这么长的代码,并且还费人看了其他大佬的代码发现只用if语句会很简洁学习一下大佬的手法:原创 2022-07-02 17:53:35 · 140 阅读 · 0 评论 -
HDOJ-2004
if语句与switch语句混用,虽然switch部分语句结构看起来具有美感,但整体还是较为混乱。switch语句在这里还有一个缺点,那就是对于边界值的处理,相较于if语句来说,if只用加一个=,而switch语句需要整整一个语句。只使用if语句或许更加一目了然:但总归题目简单,无论怎样看,程序结构都很直观...原创 2022-07-02 16:44:57 · 124 阅读 · 0 评论 -
HDOJ-2003 C语言学习记录
题目要求输出有两位小数的浮点数,故定义x的类型为float,而非int原创 2022-07-02 16:21:20 · 183 阅读 · 0 评论 -
HDOJ-2002 C语言学习记录
这道题有两点需要注意的:1.圆的体积公式V = 4/3*PI*r*r*r , 可在C语言中,4/3是一个表达式,在计算过程中会直接给出计算结果,而 / 的结果是取商,所以不能够直接用4/3,应该用小数来表示。2.while(scanf("%f",&r))A.scanf函数的返回值声明:scanf函数在不同的编译器中有不同的返回值,本文以dev c++为例在C语言中,许多函数都有返回值,例如当我们自定义函数的时候,需要在函数前面注明函数的返回类型,如果没有返回结果就用void,如果返回整形就用int等等。同样原创 2022-07-02 16:12:16 · 153 阅读 · 0 评论 -
HDOJ-2001 C语言学习记录
位运算符"^"与次方的混用、错用原创 2022-07-02 15:06:30 · 151 阅读 · 0 评论 -
HDOJ-2000 C语言解题求解答
C语言多行输入的问题原创 2022-07-02 14:16:24 · 209 阅读 · 0 评论