noip2011普与组复赛(试题+源程序)

noip2011普与组复赛(试题+源程序)

ID:24763103

大小:90.50 KB

页数:8页

时间:2018-11-15

noip2011普与组复赛(试题+源程序)_第1页
noip2011普与组复赛(试题+源程序)_第2页
noip2011普与组复赛(试题+源程序)_第3页
noip2011普与组复赛(试题+源程序)_第4页
noip2011普与组复赛(试题+源程序)_第5页
资源描述:

《noip2011普与组复赛(试题+源程序)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、NOIP2011普及组复赛1.数字反转(reverse.cpp/c/pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。(参见样例2)【输入】输入文件名为reverse.in。输入共一行,一个整数N。【输出】输出文件名为reverse.out。输出共1行,一个整数,表示反转后的新数。【输入输出样例1】reverse.inreverse.out123321【输入输出样例2】reverse.inreverse.out-38

2、0-83【数据范围】-1,000,000,000≤N≤1,000,000,000。【解题】这道题非常简单,可以读字符串处理,也可以读数字来处理,只不过要注意符号问题(以及-0,但测试数据没出)。【法一】字符串处理Vari,l,k:integer;s:string;p:boolean;beginassign(input,'reverse.in');reset(input);assign(output,'reverse.out');rewrite(output);readln(s);l:=length(s);k:=1;ifs[1]=

3、'-'thenbeginwrite('-');k:=2;end;p:=true;;fori:=ldowntokdobeginif(p)and((s[i]='0'))thencontinueelsebeginwrite(s[i]);p:=false;;end;end;close(input);close(output);end.【法二】数字处理Varf:integer;n,ans:longint;beginassign(input,'reverse.in');reset(input);assign(output,'reverse.

4、out');rewrite(output);readln(n);ifn<0thenbeginf:=-1;n:=-n;endelsef:=1;ans:=0;whilen<>0dobeginans:=ans*10+nmod10;n:=ndiv10;end;ans:=ans*f;writeln(ans);close(input);close(output);end.2.统计单词数(stat.pas/c/cpp)【问题描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的

5、次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)【输入】输入文件名为stat.in,2行。第1行为一个字符串,其中只含字母,表示给定单词;第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。【输出】输出文件名为stat.out。只有一行,如果在文章中找到给定单词则输

6、出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。【输入输出样例1】stat.instat.outTotobeornottobeisaquestion20【输入输出样例1解释】输出结果表示给定的单词To在文章中出现两次,第一次出现的位置为0。【输入输出样例2】stat.instat.outtoDidtheOttomanEmpireloseitspoweratthattime-1

7、【输入输出样例2解释】表示给定的单词to在文章中没有出现,输出整数-1。【数据范围】1≤单词长度≤10。1≤文章长度≤1,000,000。【解题】这道题也不是很难,programstat;varI,n,p:longint;s,s1:string;c:char;beginassign(input,'stat.in');reset(input);assign(output,'stat.out');rewrite(output);readln(s);s:=upcase(s);//函数upcase()参数可为char,也可为string

8、i:=-1;//i统计读入的字符位置,首个字符出现的位置是0s1:='';//s1累加读入的字符n:=0;//n统计出现次数p:=-1;//p标记第一次出现的位置repeatread(c);c:=upcase(c);//统一大小写i:=i+1;ifc=''the

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。