ACM进阶之路

一、在写OJ的过程中应该注意的问题。

(1)Do not repeat yourself。注意不要写出重复的代码,那样做,会导致在检查过程中难以更改,代码冗杂。

(2)变量的命名必须固定,如bool函数ans,flag,cns等等。

(3)较大内存数组需在main()函数外定义,比如a[10010]还可以在main()函数内,超过五位就不允许在数组内,数组范围尽量开大一些,最好超过原数据100以上。

(4)在存储字符前,先存储了数字,在存储数字后方必须加一个getchar()吸收多余的空格或换行符。

二、检测OJ过程中应该注意的问题。

1.提交后一直显示wrong answer;

(1)先检查数据是否达到精度,数组的范围是否达标,数据的输入输出格式是否正确。如要存储4个数到数组,却只定义了a[3]:

(2)检查数据的存储结构,数据在其中的状况。

(3)检查for循环中的参数,跟踪数据在每一步中的大小。

(4)更换算法,重新写一遍代码。试着把每一步说给其他人听,通俗易懂。

2.提交显示prensentation error。

(1)检查数据是否多输出了空格,换行。

(2)条件判断来控制换行,空格。如printf(i==1?"  %d","%d",a[i]);

3.提交显示 Output Limit Exceed.

注意检查代码中的循环结构。while(scanf("%d",&n)

4.提交显示Runtime error.

代码中的数组范围开得太小。

三、数据的输入格式

1.int T;

scanf("%d",&T);

while(T--)

{};

2.int m,n;

while(scanf("%d%d",&n,&m),n,m){};

//输入为0时,程序结束。

3.int L;

while(scanf("%d",&L)!=EOF){}

//输入多组样例,按下ctrl+Z结束程序。

4.char str[100]

while(gets(str)!=0){}

//输入多组样例,每个样例一行,按下ctrl+Z结束程序。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值