TZOJ常见但不容易察觉的一些问题

1.调用的函数的返回值类型不清楚

   常见的两类数值计算的函数

1.   C语言 pow() 函数用来求 x 的 y 次方的值。    头文件:math.h

      语法/原型  ==>double pow(double x,double y);    实参是int 类型也可以,它会被强制转换的

参数说明:

  • x:双精度数。
  • y:双精度数。

举个简单的例子    求2^3次方 并打印在屏幕上

           关键的语句是       printf("%d",pow(2,3));   那么聪明的tz伙伴们看出问题了吗?  这个结果实际上是打印输出了 0                      我们把错误的地方改一下printf("%f",pow(2,3));  此时输出就是我们想要的结果 8 了。

在TZOJ 题库中  常见的有 水仙花数(Narcissistic number) 之类的题目,我遇到的 题目的题号是 1372  《C语言实验》 实验四 循环程序设计 水仙花数 

2.    C语言中 sqrt() 函数用来 计算平方根。   头文件:math.h

       语法/原型为 ==> float sqrt (float),double sqrt (double),double long sqrt(double long)   

           实参是int 类型同样也是可以的,它会被强制转换的    

        在运行时可能会出现的错误,也和上面一样

2.Error answer /Presentation Error 

为什么会把这两个放在一起讲呢?原因很简单,当遇到的题目是需要逻辑判断和数值运算的时候,这两个错误经常是形影不离

1.首先是考虑的不全面,这种就是需要再三检查,自己的逻辑有没有出错,题目给的案例输入输出,不会很全面。往往你以为输入输出正确了,其实还有其他的数值情况你没有考虑,比如 0  ,输入0  输出还是0 的情况。

2.其次还需要注意一下,有些题目会要求输入多组数据,在输出多组数据,输出的数据要各占一行。最后一行输出完后,他可能是不换行的。

3.Runtime Error

Runtime Error: 运行时错误,这个一般是程序在运行期间执行了非法的操作造成的。以下列出常见的两种错误类型:

1.Runtime Error(ARRAY_BOUNDS_EXCEEDED) //数组越界                                                                                                                    这种情况的话就是你的定义的数组范围太小了,题目可能测试用到数组范围是10000,而你以为自己定义9999已经很大了,结果还是白给。

2.Runtime Error(DIVIDE_BY_ZERO) //除零                                                                                                                                                这种情况说实话,我没遇到过,这个就检查除数有没有问题。

4.Time Limit Exceeded

Time Limit Exceeded: 您的程序运行的时间已经超出了这个题目的时间限制。

1.这种的话,常见在根据某个公式,求值。 这种就要避免造成大量冗余循环,和限制循环次数。当题目有具体给出,输出的精度的时候,你可以用个范围 限定一下,  比如 某个值算到 <1e-6  (10^-6) 时候就退出循环。后面算不算都一样,对题目输出的精度没影响就好了。如题目 1477 实验四 循环程序设计 C语言实验题――余弦

2.还有一种就要用到数组的,对于常用要计算的数据,可以放在数组中,后面到数组中找就好了,不用计算,减少运行时间,降低程序复杂度。 如题目 1163 实验5 数组的使用  统计1到N之间数字1的个数

最后想给大家再遇到bug时,找bug的思路,一种是设断点,这个可以百度下 ,另外一种 注释,把一部分注释点,检查另外一部分由没有问题,因为有些时候,程序往往是相关联的,一步错,步步错。两种本质都差不多

✍了这么多不点个赞再走。祝大家在TZOJ 玩的开心    o(* ̄▽ ̄*)ブ

                                                                                                                                                       相关资料由菜鸟BBQ收集并编辑

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
由于提供的引用内容中没有与"矩阵游戏"相关的信息,无法给出专业、客观的回答。建议提供更多的引用内容或提供更详细的问题描述,以便我能够为您提供准确的答案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [TZOJ 4954:矩阵游戏](https://blog.csdn.net/m0_62187903/article/details/132239441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [TZOJ——4954:矩阵游戏(快速幂+费马小定理+指数循环节+逆元)](https://blog.csdn.net/qq_62089682/article/details/132239372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [自然语言处理(NLP):08-05 TextCNN短文本分类案例分享](https://blog.csdn.net/shenfuli/article/details/108436612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值