pascal难题Description现李风正使毛笔而题序,临风月而赋诗.诗长而情切,然以之长而视之乱,无心以断行.望神
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 00:30:36
pascal难题
Description
现李风正使毛笔而题序,临风月而赋诗.诗长而情切,然以之长而视之乱,无心以断行.望神牛帮之.(现已断句)
本题没有明确的数据范围,但输入数据保证你所写的代码中的正确、完整的纯文件输入和输出操作在运行时用时不会超过时限的二分之一.
备注 Tip
提示:汉字的两个字节的每个字节的ASCII码均和空格及四种英文标点不同.不用考虑其它标点符号.
由于输入文件可能是一本长篇小说,因此请注意防止变量和数组的溢出.
最后一行内容后可以输出也可以不输出换行符.
输入格式
输入数据第一行有一个数字,表示他希望每一行拥有多少字符.(不超过500字符)
剩下的输入文件中的数据表示一篇序或一首诗.
输入数据保证不包含换行符(字符13或字符10).
输出格式
输出数据表示你帮李风题的序或赋的诗断行后的结果.如果行的末尾的词语或短句没有结束(即其后字符不是空格或标点(只考虑,.四个半角英文符号.)),则需要等该词结束后在换行.
输出数据要尽量使每行字符数接近输入要求,但不能删除任何字符,也不能小于要求字符,最后一行除外.
样例输入
10
无关风月 我题序等你回 手书无愧 无惧人间是非 雨打蕉叶 又潇潇了几夜 我等春雷 来提醒你爱谁
样例输出
无关风月 我题序等你回
手书无愧 无惧人间是非
雨打蕉叶 又潇潇了几夜
我等春雷 来提醒你爱谁
样例说明:
请注意观察样例输出从第二行起,每行开头为一个空格,请仔细思考这是为什么.
var s:string;
i,j,q,w,e,r,t,y,u,n:longint;
ls:longint;
function panduan(i:longint):boolean;
begin
if (s[i]=',')or (s[i]='.') or (s[i]='!') or(s[i]='?') then exit(true) else exit(false);
end;
begin
readln(n);
readln(s);
ls:=length(s);
for i:=1 to ls do
begin
inc(q);
if s[i]=' ' then if q>=n then begin writeln; q:=0; end;
if panduan(i-1) then if q-1>=n then begin writeln; q:=0; end;
write(s[i]);
end;
end.
我这个程序哪里错了?
Description
现李风正使毛笔而题序,临风月而赋诗.诗长而情切,然以之长而视之乱,无心以断行.望神牛帮之.(现已断句)
本题没有明确的数据范围,但输入数据保证你所写的代码中的正确、完整的纯文件输入和输出操作在运行时用时不会超过时限的二分之一.
备注 Tip
提示:汉字的两个字节的每个字节的ASCII码均和空格及四种英文标点不同.不用考虑其它标点符号.
由于输入文件可能是一本长篇小说,因此请注意防止变量和数组的溢出.
最后一行内容后可以输出也可以不输出换行符.
输入格式
输入数据第一行有一个数字,表示他希望每一行拥有多少字符.(不超过500字符)
剩下的输入文件中的数据表示一篇序或一首诗.
输入数据保证不包含换行符(字符13或字符10).
输出格式
输出数据表示你帮李风题的序或赋的诗断行后的结果.如果行的末尾的词语或短句没有结束(即其后字符不是空格或标点(只考虑,.四个半角英文符号.)),则需要等该词结束后在换行.
输出数据要尽量使每行字符数接近输入要求,但不能删除任何字符,也不能小于要求字符,最后一行除外.
样例输入
10
无关风月 我题序等你回 手书无愧 无惧人间是非 雨打蕉叶 又潇潇了几夜 我等春雷 来提醒你爱谁
样例输出
无关风月 我题序等你回
手书无愧 无惧人间是非
雨打蕉叶 又潇潇了几夜
我等春雷 来提醒你爱谁
样例说明:
请注意观察样例输出从第二行起,每行开头为一个空格,请仔细思考这是为什么.
var s:string;
i,j,q,w,e,r,t,y,u,n:longint;
ls:longint;
function panduan(i:longint):boolean;
begin
if (s[i]=',')or (s[i]='.') or (s[i]='!') or(s[i]='?') then exit(true) else exit(false);
end;
begin
readln(n);
readln(s);
ls:=length(s);
for i:=1 to ls do
begin
inc(q);
if s[i]=' ' then if q>=n then begin writeln; q:=0; end;
if panduan(i-1) then if q-1>=n then begin writeln; q:=0; end;
write(s[i]);
end;
end.
我这个程序哪里错了?
你这个读入的时候用string略显犀利了吧.