只针对没有基础的同学,不喜勿喷。
1、首先要有C语言技能 (随便找本C的教程)
2、多练习
练习步骤:
1、首先把这个网站(杭州电子科技大学在线测评系统 :HDUOJ)加入你的网页收藏夹:点击打开链接
2、在HDU网站上注册一个你的ID :点击打开链接
中英文对照表:
Author ID : 帐号
Password : 密码
Confirm Psw. : 确认密码
Verify Code : 验证码
Submit : 提交
3、尝试解决本题:点击打开链接
输入2个整数,输出这两个数的和并换行。
下面是正确代码:
#include "stdio.h"
int main(){
int a, b;
while( scanf("%d %d", &a, &b) != -1 )
{
printf("%d\n", a+b);
}
return 0;
}
Q: 为什么scanf(···) != -1
scanf 语句是有一个返回值的。这个返回值表示正确读入的变量个数。
若成功读入了a,b, 则返回一个整数2 。
若一个也没有读入则读入失败,返回 -1
也就是说“当读入失败时, while循环结束"
而在线测评系统是要求读入失败才能结束的。
Q: 什么是'\n' , 为什么要加'\n'
A:有些不可见的字符,比如换行('\n'), 空格(' '), 具体可见ASCII码表, 而题目要求输出一个整数(占一行)
Q: 我写完代码接下来干什么
A:
---------------------------
点击题目下方的Submit
---------------------------
出现提交框后选择Language : C++
下方Source Code粘帖上上方代码
点击下方的Submit
---------------------------
转跳到测评页面
依次是:
测评状态 | 题号 | 代码运行时间 | 最大占用内存 | 代码长度(可以点击查看代码) | 提交语言|昵称(帐号)
Queuing : 在队列中等待(这时候刷新就好)
Compilation Error : 编译错误, 新手会常遇到
为什么错误(看到下划线了么..点中就能看到英文提示代码错误的原因)
为什么我本地编译器编译过了, 交上去就ce? 因为你本地用的编译器和OJ用的编译器不一样。OJ的更为严格
Accepted :代码正确, 可以换一题了
Wrong Answer : 答案错误. 如本题输出1 1,输出3
Runtime Error : 代码运行中断(产生原因:数组越界(a[-1]), 除0( int a=1/0; ) )Memory Limit Exceeded:
代码使用最大内存过大(什么样算大呢, 在每个题目标题下面写的 Memory Limit: 65536/65536 K (Java/Others) 就是内存限制大小)
Time Limit Exceeded:
代码运行时间过久(什么样算久呢, 在每个题目标题下面写的 Time Limit: 10000/5000 MS (Java/Others) 就是代码运行最长时间)
---------------------------
4、多练习:
点击打开链接
这一页题目都是中文入门题,在此页做题目熟悉C语言。
Q : 题目不会做了怎么办
A :
可以点击Submit边上的Discuss (讨论)查看别人的回复
或者百度搜索 HDU+题号(如:HDU 1000) 查看题解
等做到50题以上时即可开始学习算法了 -> 点击打开链接