Bài tập  /  Bài đang cần trả lời

Lập trình Pascal

LẬP TRÌNH PASCAL
bài 3: (5đ) Xâu kí tự. Viết chương trình nhập một xâu S có k kí tự chỉ gồm các chữ cái và chữ số (0 < k < 255). In ra màn hình:
+ Số lượng kí tự số có trong xâu S;
+ Tổng các số có trong xâu S.
Ví dụ: Với S = ‘ngay28thang10nam2021’ thì in ra kết quả:
+ S co 8 ki tu so
+ Tong cac so la: 2059 (Giải thích: 28 + 10 + 2021 = 2059)
3 Xem trả lời
Hỏi chi tiết
132
Tham khảo câu trả lời từ Trợ lý ảo Lazi
```pascal
program Bai3;
var
S: string;
i, sum, count: integer;
begin
write('Nhap xau S: ');
readln(S);

sum := 0;
count := 0;

for i := 1 to length(S) do
begin
if (S[i] >= '0') and (S[i] <= '9') then
begin
sum := sum + ord(S[i]) - 48;
count := count + 1;
end;
end;

writeln('+ S co ', count, ' ki tu so');
writeln('+ Tong cac so la: ', sum);
end.
```
Để kiểm tra chương trình, bạn có thể nhập xâu S và kiểm tra kết quả.
1
1
Tiến Dũng
29/02 20:39:55
+5đ tặng

Program hotrotinhoc;

var max,i,n: integer;

x,s: string;

d: array['A'..'z'] of integer;

l: char;

begin

readln(x);

for i:=1 to length(x) do

inc(d[x[i]]);

for i:=1 to length(x) do if pos(x[i],x)=i then s:=s+x[i];

for l:='A' to 'z' do if d[l]<>0 then

if d[l]>max then max:=d[l];

for l:='A' to 'z' do if d[l]=max then begin write(l); break; end;

readln;

end.

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
1
1
GUNTER OBERDORF ...
29/02 20:40:01
+4đ tặng
program Bai3_Xu_Ki_Tu;
var
  S: string;
  i, k, sum, count: integer;
begin
  write('Nhap xau S: ');
  readln(S);
  k := length(S);
  sum := 0;
  count := 0;
  for i := 1 to k do
  begin
    if (S[i] >= '0') and (S[i] <= '9') then
    begin
      sum := sum + ord(S[i]) - ord('0');
      count := count + 1;
    end;
  end;
  writeln('So luong ki tu so co trong xau S: ', count);
  writeln('Tong cac so co trong xau S: ', sum);
end.

 
GUNTER OBERDORF ...
chấm điểm giúp
phan ngọc linh
ord là j vậy ạ
2
0
cừu
29/02 23:15:37
+3đ tặng
program XuKyTu;

var
  S: string;
  countDigits, sumDigits, i, num: integer;
  currentNum: string;

begin
  // Nhập xâu kí tự S
  writeln('Nhap xau S:');
  readln(S);

  // Khởi tạo số lượng kí tự số và tổng các số
  countDigits := 0;
  sumDigits := 0;
  currentNum := '';

  // Duyệt qua từng kí tự trong xâu S
  for i := 1 to Length(S) do
  begin
    // Nếu là kí tự số, cộng số lượng và tính tổng các số
    if (S[i] >= '0') and (S[i] <= '9') then
    begin
      Inc(countDigits);
      currentNum := currentNum + S[i]; // Tạo số hiện tại bằng cách ghép các kí tự số liên tiếp nhau
    end
    else
    begin
      // Nếu gặp kí tự không phải số và có số hiện tại, cộng vào tổng
      if currentNum <> '' then
      begin
        Val(currentNum, num); // Chuyển chuỗi thành số nguyên
        Inc(sumDigits, num);
        currentNum := ''; // Reset số hiện tại sau khi đã cộng vào tổng
      end;
    end;
  end;

  // Nếu kết thúc xâu vẫn còn số hiện tại, cộng vào tổng
  if currentNum <> '' then
  begin
    Val(currentNum, num); // Chuyển chuỗi thành số nguyên
    Inc(sumDigits, num);
  end;

  // In ra số lượng kí tự số và tổng các số
  writeln('S co ', countDigits, ' ki tu so');
  writeln('Tong cac so la: ', sumDigits);
end.
 

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×