Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
uses crt;
var s:string;
i,d,dem:integer;
begin
clrscr;
write('Nhap xau S:'); readln(s);
d:=length(s);
writeln('Cac ki tu so co trong xau S:');
dem:=0;
for i:=1 to d do
if s[i] in ['0'..'9'] then
begin
write(s[i]:4);
inc(dem);
end;
writeln;
writeln('So ki tu chu so co trong xau S: ',dem);
for i:=1 to d do
if s[i] in ['0'..'9'] then s[i]:='A';
writeln('Xau sau khi doi la: ',s);
readln;
end.
Câu 1: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
A. Là một tập hợp các số nguyên
B. Độ dài tối đa của mảng là 255
C. Là một dãy hữu hạn các phần tử cùng kiểu
D. Mảng không thể chứa kí tự
Bài 1:
uses crt;
var S:String;
vt:integer;
begin
clrscr;
Write(‘Nhap 1 xau:’); Readln(S);
While pos(‘nang’,s)>0 do
Begin
Vt:= pos(‘nang’,s);
Delete(s,vt,4);
Insert(‘mua’,s ,vt);
End;
Writeln(‘Xau sau khi thay the ’,s);
Readln;
End.
Bài 2:
uses crt;
var st:string;
d,i,kt:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
kt:=0;
for i:=1 to d do
if st[i]<>st[d-i+1] then kt:=1;
if kt=0 then writeln(st,' la xau doi xung')
else writeln(st,' khong la xau doi xung');
readln;
end.
program stringManipulation;
var
st1, st2: string;
countN, i: integer;
begin
write('Nhap vao xau ki tu st1: ');
readln(st1);
countN := 0;
for i := 1 to length(st1) do
begin
if (st1[i] = 'N') or (st1[i] = 'n') then
begin
countN := countN + 1;
end;
end;
writeln('So ky tu N va n trong xau st1 la: ', countN);
st2 := '';
for i := 1 to length(st1) do
begin
if (st1[i] >= 'A') and (st1[i] <= 'Z') then
begin
st2 := st2 + st1[i];
end;
end;
writeln('Cac ky tu in hoa trong xau st1 la: ', st2);
write('Xau st1 viet theo chieu nguoc lai la: ');
for i := length(st1) downto 1 do
begin
write(st1[i]);
end;
readln;
end.
st1 = input("Nhập vào xâu kí tự: ")
count_n = 0
st2 = ""
for char in st1:
if char == 'N' or char == 'n':
count_n += 1
if char.isupper():
st2 += char
print("Số lần xuất hiện của kí tự 'N' và 'n' là:", count_n)
print("Xâu kí tự chỉ chứa kí tự in hoa là:", st2)
print("Xâu kí tự đảo ngược là:", st1[::-1])
Tham khảo:
Quy trình thiết kế theo phương pháp làm mịn dần để kiểm tra xâu kí tự có là đối xứng hay không gồm các bước sau:
Bước 1: Nhận đầu vào là xâu kí tự cần kiểm tra.
Bước 2: Loại bỏ các kí tự không cần thiết, chẳng hạn khoảng trắng và dấu cách, để chuẩn bị cho quá trình kiểm tra.
Bước 3: Chuyển đổi xâu kí tự về dạng chữ thường hoặc dạng chữ hoa (tuỳ thuộc vào yêu cầu của đề bài) để đảm bảo tính nhất quán trong quá trình kiểm tra.
Bước 4: Sử dụng một vòng lặp để so sánh các kí tự ở đầu và cuối xâu kí tự, sau đó di chuyển lần lượt về phía nhau.
Bước 5: Trong quá trình lặp lại, so sánh các kí tự ở hai vị trí tương ứng với nhau. Nếu chúng khác nhau, xâu kí tự không là đối xứng và chương trình dừng lại, trả về kết quả là "Không đối xứng".
Bước 6: Nếu các kí tự ở hai vị trí tương ứng với nhau đều giống nhau, tiếp tục di chuyển các con trỏ về phía nhau và so sánh các kí tự tiếp theo cho đến khi hoàn thành kiểm tra toàn bộ xâu kí tự.
Bước 7: Nếu tất cả các cặp kí tự ở vị trí tương ứng với nhau đều giống nhau, tức là xâu kí tự là đối xứng, chương trình dừng lại và trả về kết quả là "Đối xứng".
Bước 8: Kết thúc chương trình và đưa ra kết quả cuối cùng.
Chương trình:
def kiem_tra_doi_xung(xau):
# Loại bỏ các kí tự không cần thiết và chuyển đổi xâu về dạng chữ thường
xau = xau.replace(" ", "").lower()
n = len(xau)
# Sử dụng vòng lặp để kiểm tra từ đầu và cuối xâu kí tự
for i in range(n // 2):
if xau[i] != xau[n - i - 1]:
return "Không đối xứng"
return "Đối xứng"
Program HOC24;
var i,d1,d2: byte;
st1,st2: string[60];
begin
write('Nhap xau st1: '); readln(st1);
//---------------Câu 1-------------------
d1:=0; d2:=0;
for i:=1 to length(st1) do
begin
if st1[i]='A' then d1:=d1+1;
if st1[i]='a' then d2:=d2+1;
end;
writeln('Co ',d1,' ki tu A trong xau');
writeln('Co ',d2,' ki tu a trong xau');
//---------------------- Câu 2 --------------------
st2:='';
for i:=1 to length(st1) do if st1[i] in ['a'..'z'] then st2:=st2+st1[i];
writeln('Xau st2 la: ',st2);
//------------------------------Câu 3--------------------
for i:=1 to length(st1) do st1[i]:=upcase(st1[i]);
write('Xau st1 sau khi in hoa la: ',st1);
//--------------------------------------------------------
readln
end.
uses crt;
var s:string;
i,tong,x,code:integer;
f,g:text;
k:boolean;
const fi='XAU.INP';
fo='XAU.OUT';
begin
k:=false;
assign(f,fi); reset(f);
assign(g,fo); rewrite(g);
readln(f,s);
tong:=0;
for i:=1 to length(s) do
begin
if s[i] in ['0'..'9'] then
begin
k:=true;
val(s[i],x,code);
tong:=tong+x;
x:=0;
cod:=0;
end;
end;
if k=false then writeln(g,'Sai yeu cau')
else
begin
writeln(g,s);
writeln(g,tong);
end;
close(f);
close(g);
end.
uses crt;
var a,b:string;
i,d:integer;
begin
clrscr;
write('Nhap xau a:'); readln(a);
d:=length(a);
b:='';
for i:=1 to d do
if a[i] in ['A'..'Z'] then b:=b+a[i];
writeln(b);
readln;
end.
Phát biểu nào dưới đây là sai?
A. Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.
B. Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.
C. Số lượng kí tự trong một xâu chính là độ dài của xâu.
D. Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.
Đáp án: A