博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ试水心酸总结
阅读量:3972 次
发布时间:2019-05-24

本文共 899 字,大约阅读时间需要 2 分钟。

下面是一些被HDOJ玩弄的痛苦教训(低级错误和各种规范)


  • 1.scanf("",&); &符号不要忘
  • 2.输出格式要注意啊!printf里面要跟上\n!!!
  • 3.若有多轮,则要注意做完一轮之后所有数据初始化!!!!!
  • 4.scanf字符串的时候,直接scanf("%s",a); 而不是scanf("%s",&a[i]);
  • 5.scanf("%lf");与scanf("%.2lf");不一样,尽量用前者
    Q:指针为什么要动态空间?(是因为指针无所指!!)
    因为它所指的地址不知道,不能解引用拿来运算,当然也不能拿来scanf,因为根本不知道解什么地址/或者是把输入的值放到哪个地址里面。。。。。
    (补充字符串指针:在scanf赋值的时候,要先让指针有所指,或者是malloc()给他开辟一片空间//注意要手动free!!!//)

9.16

  • 显示Runtime Error (ACCESS_VIOLATION)错误?原因可能是数组下标越界了,a[n]的n太大而没有定义

9.17

  • 冒泡排序模板
int j;int ifor(i=0;i

冒泡排序三个关键点:

1.轮次为元素数-1;(轮次)
2.第一轮和第二轮冒泡有何差别?;(模拟、差异)
※3.冒泡方向(是向着每一轮元素减少的那个方向冒泡的),这关乎是 j++ or j- -(方向)

  • 关于数组要不要全部初始化为0?

    答:目前看来不需要

  • while(scanf("%d",&n)!=EOF &&n!=0)while(scanf("%d",&n)!=EOF &&scanf("%d",&n)!=0)两者辨识

    要树立一个观念:碰到scanf()其实是一个函数,只要碰到它就会要求输入
    那么这样看来,前者只要求输入一次,并且直接赋值给n;而后者输入了两次

  • 定义数组时非常重要的一点,里面只能是具体数字而不能是字母

    例如尽管n=5,但是不能int a[n];,只能int a[5];
    遇到具体题目的时候怎么办?
    题目应该会提供某个变量的范围,够用就行了!

  • 关于几个值的输出

    做题的时候,怎么样输出才算规范?

for(i=0;i

这玩意儿对做题太重要了!

转载地址:http://ertki.baihongyu.com/

你可能感兴趣的文章
顺序和屏障 收藏
查看>>
Linux PCI驱动模型
查看>>
S3C2440上触摸屏驱动实例开发讲解(…
查看>>
Android驱动例子(LED灯控制)(1…
查看>>
第二章 Android内核和驱动程序(转)
查看>>
第一章 Android系统介绍
查看>>
Android电源管理(zz)
查看>>
Android HAL基础
查看>>
Android电源管理(zz)
查看>>
Android平台开发-Android HAL deve…
查看>>
Android HAL基础
查看>>
2011年06月21日
查看>>
2011年06月21日
查看>>
Android Sensor传感器系统架构初探
查看>>
Android的传感器HAL层的书写---基…
查看>>
生成和使用动态链接库和静态链接库…
查看>>
linux工作队列(转)
查看>>
工作队列的初始化(INIT_WORK的参…
查看>>
sysfs and /proc/bus/usb/device
查看>>
linux工作队列(转)
查看>>