2024年青岛市pascal试题初中组第二题

发布 2024-04-17 03:55:11 阅读 7527

c++与j**a(

问题描述】在csdn论坛里,j**a的爱好者和c++的爱好者经常能为这两种语言哪个更好争论上几个小时。j**a的爱好者会说他们的程序更加整洁且不易出错。c++的爱好者则会嘲笑j**a程序很慢且**很长。

另一个j**a和c++爱好者不能达成一致的争论点就是命令问题。在j**a中一个多个单词构成的变量名应该按照如下格式命名:第一个单词的开头用小写字母,其余单词都以大写字母开头,单词与单词之间不加分隔符,除单词的首字母之外的字母一律使用小写。

例如:j**eidentifier,longandmnemonicidentifier,whu,wuhanuniversity与j**a不同c++的命名全都使用小写字母,在单词和单词之间使用“_”来作为分隔符。例如:

c_identifier,long_and_mncemonic_identifier,whu(当名字中只有一个单词的时候,j**a与c++的命名是相同的),wuhan_university.

你的任务就是写一个程序能让c++和j**a程序相互转化。当然转换完的程序中的变量名也要符合其语言的命名规则,否则的话是不会有人喜欢你的转换器的。首先你要做的就是写一个变量名转换器。

给出一个变量名,你要先检测是j**a的还是c++的,然后把它转换成另一种命名格式。如果两种都不是,那么你的程序就要报错。转换过程必须保持原有的单词顺序,只能改变字母的大小写和增加或删除下划线。

【输入】

第一行,n,表示以下有n个语言标识符。

以下n行,每行是(不超过100个字符)只含英文字母和下划线的一个标志符。【输出】

如果输入的是j**a变量名就输出它对应的c++形式。如果是c++的就输出对应的j**a形式。如果两种都不是就输出“error”(不含引号)。【输入输出样例】

wu_han_da_xuewuhanuniversitywhu

bad_style

数据范围限制】

对于100%的数据,n<=10【参考程序】program change;

var c:array[1..100]of string;n,i,j,a,b,d,k,m:integer;begin

assign(input,''assign(output,''reset(input);rewrite(output);readln(n);a:=1;b:=1;

for i:=1 to n do readln(c[i]);

for i:=1 to n do beginm:=length(c[i]);for j:=1 to m do

if((c[i][j]in['a'..z'])or(c[i][j]in['a'..z'])or(c[i][j]='and(c[i][1]in['a'..

z'])then beginif c[i][j]='then a:=0;

if c[i][j]in['a'..z'] then b:=0;end

else begin a:=0;b:=0;end;if (a=0)and(b=1) then begind:=0;

for j:=1 to m do if c[i][j]='then inc(d);for j:=1 to m-d do if c[i][j]='then beginc[i][j+1]:

=upcase(c[i][j+1]);

for k:=j to length(c[i]) do c[i][k]:=c[i][k+1];delete(c[i],length(c[i]),1);end;end

else if (a=1)and(b=0) then begind:=0;

for j:=1 to m do if c[i][j]in['a'..z'] then inc(d);

for j:=1 to length(c[i])+d do if c[i][j]in['a'..z'] then beginc[i][j]:

=chr(ord(c[i][j])+32);

for k:=m+1 downto j do c[i][k]:=c[i][k-1];c[i][j]:=inc(m);end;end

else if(a=0)and(b=0)then writeln('error');if(a<>0)or(b<>0)then writeln(c[i]);a:=1;b:=1;end;

close(input);close(output);end.

2024年青岛市pascal试题初中组第一题

超级书架 问题描述 farmerjohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但他还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有n 1 n 20000 头奶牛都有一个确定的身高h i 1 h i 10000 设所有的奶牛身高的和为s。书架的高度为b...

2024年青岛市程序设计竞赛试题

2012年青岛市程序设计竞赛试题 小学组 说明 1 必须以题目中规定的文件名进行保存,并用ftp上传到指定文件夹中,ftp上传在试题最后。请选手没做完一道题及时上传一次,以确保因机器故障引起的文件丢失。2 比赛时间为 60分钟,试题100分。3 使用竞赛规定的文件格式输入 输出。第一题火柴盒 程序文...

2024年青岛市程序设计竞赛试题

2012年青岛市程序设计竞赛试题 小学组 说明 1 必须以题目中规定的文件名进行保存,并用ftp上传到指定文件夹中,ftp上传在试题最后。请选手没做完一道题及时上传一次,以确保因机器故障引起的文件丢失。2 比赛时间为 60分钟,试题100分。3 使用竞赛规定的文件格式输入 输出。第一题火柴盒 程序文...