Đến nội dung

Hình ảnh

Tìm kí tự chữ số và kí tự chữ cái


  • Please log in to reply
Chủ đề này có 4 trả lời

#1
PlanBbyFESN

PlanBbyFESN

    Thiếu úy

  • Điều hành viên OLYMPIC
  • 637 Bài viết

Đề bài: Nhập vào văn bản XAU.INP một xâu gồm kí tự chữ cái và kí tự chữ số sao cho số kí tự không vượt quá 100. Cho ra văn bản XAU.OUT số chữ cái và số chữ số của xâu nhập.

 

VD: XAU.INP                        XAU.OUT

       abc123                          Chữ cái: 3

                                             Chữ số: 3


Bài viết đã được chỉnh sửa nội dung bởi PlanBbyFESN: 19-03-2016 - 20:06

:huh:


#2
Zjkar

Zjkar

    Hạ sĩ

  • Thành viên
  • 82 Bài viết


Đề bài: Nhập vào văn bản XAU.INP một xâu gồm kí tự chữ cái và kí tự chữ số sao cho số kí tự không vượt quá 100. Cho ra văn bản XAU.OUT số chữ cái và số chữ số của xâu nhập.

 

VD: XAU.INP                        XAU.OUT

       abc123                          Chữ cái: 3

                                             Chữ số: 3

 

 

* Bài này là đề thi huyện mình năm nay, bài giải của mình sẽ đăng vào ngày mai (nếu không ai giải)!

Bạn không cần lo mình làm cho  :lol:  :lol:

Program xau;

uses crt;

var i,n,j,k,l,p:longint;

s,s1,s2:string;

f:text;

begin

clrscr;

assign(f,'d:\xau.inp');

reset(f);

while not eof(f) do read(f,s);

close(f);

k:=0;

l:=0;

p:=0;

for i:=1 to length(s) do

if (s[i] in ['0'..'9'])or(s[i] in ['a'..'z'])or(s[i] in ['A'..'Z']) then p:=p+1;

assign(f,'d:\xau.out');

rewrite(f);

if (p=length(s))and(length(s)<=100) then

begin 

for i:=1 to length(s) do

if (s[i] in ['0'..'9']) then k:=k+1 else l:=l+1;

writeln(f,'Chu cai:',l);

writeln(f,'Chu so:',k);

end else

writeln(f,'Ban phai nhap dung nhu de bai');

close(f);

readln

end.

--- Ok rồi đó bạn ---------

------- Good luck ---------


Bài viết đã được chỉnh sửa nội dung bởi Zjkar: 19-03-2016 - 20:09


#3
Zjkar

Zjkar

    Hạ sĩ

  • Thành viên
  • 82 Bài viết

Nếu sử dụng điều kiện như trên thì code sẽ thế này:

Program xau;

uses crt;

var i,n,j,k,l,p:byte;

s,s1,s2:string;

f:text;

begin

clrscr;

assign(f,'d:\xau.inp');

reset(f);

while not eof(f) do read(f,s);

close(f);

k:=0;

p:=0;

for i:=1 to length(s) do

if (s[i] in ['0'..'9'])or(s[i] in ['a'..'z'])or(s[i] in ['A'..'Z']) then p:=p+1;

assign(f,'d:\xau.out');

rewrite(f);

if (p=length(s))and(length(s)<=100) then

begin 

for i:=1 to length(s) do

if (s[i] in ['0'..'9']) then k:=k+1;

writeln(f,'Chu cai:',p-k);

writeln(f,'Chu so:',k);

end else

writeln(f,'Ban phai nhap dung nhu de bai');

close(f);

readln

end.



#4
PlanBbyFESN

PlanBbyFESN

    Thiếu úy

  • Điều hành viên OLYMPIC
  • 637 Bài viết

Bài này là bài không khó, lời giải khá đơn giản:

 

Uses crt;

Var s: string; 

      i,j,demcs,dem: string;

      f,g: text;

Begin

Assign(f,'XAU.INP'); Reset(f);

Assign(g,'XAU.OUT'); Rewrite(g);

Read(f,s); dem:=0; demcs:=0;

For i:=1 to length(s) do

Begin if (s[i] in ['0'..'9']) then demcs:=demcs+1; End;

For j:=1 to length(s) do

Begin dem:= dem+1; End;

Writeln(g,s);

Writeln(g,'Chu so:',demcs);  Writeln(g,'Chu cai:',dem-demcs);

Close(f); Close(g);

End.


Bài viết đã được chỉnh sửa nội dung bởi PlanBbyFESN: 22-03-2016 - 20:45

:huh:


#5
hoicmvsao

hoicmvsao

    Thượng sĩ

  • Thành viên
  • 299 Bài viết

Sieu de






0 người đang xem chủ đề

0 thành viên, 0 khách, 0 thành viên ẩn danh