LH Quảng cáo: lazijsc@gmail.com

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

Hãy thực hiện các yêu cầu sau: Chuẩn hóa xâu S, đổi chữ thường sang chữ hoa;

Bài 1. Đếm từ trong xâu
Chuẩn hóa xâu có nghĩa là loại bỏ dấu cách dư thừa trong xâu.
Từ là một dãy chữ cái liên tiếp, không chứa dấu cách.
Cho xâu S có độ dài không quá 1000 kí tự bao gồm các chữ cái tiếng Anh in thường, in hoa và
dấu cách.
Yêu cầu: Hãy thực hiện các yêu cầu sau:
a) Chuẩn hóa xâu S, đổi chữ thường sang chữ hoa;
b) Ghi độ dài của xâu S sau khi đã chuẩn hóa;
c) Đếm số lượng các từ có trong xâu S.
Dữ liệu: Vào từ tệp văn bản COUNTOFWORDS.INP gồm 1 dòng chứa xâu S.
Kết quả: Ghi ra tệp văn bản COUNTOFWORDS.OUT gồm 3 dòng:
 Dòng 1: xâu S sau khi đã chuẩn hóa, chuyển hết về ký tự in hoa.
 Dòng 2: độ dài mới của xâu S sau khi chuẩn hóa.

Ví dụ:Dòng 3: số lượng các từ có trong xâu S.
COUNTOFWORDS.INPCOUNTOFWORDS.OUT
thpt minh haTHPT MINH HA
12
3
Ràng buộc:
 Có 30% số test ứng với 30% số điểm của bài có độ dài xâu S không quá 100.
 Có 30% số test ứng với 30% số điểm của bài có độ dài xâu S không quá 255.
 Có 40% số test ứng với 40% số điểm của bài có độ dài xâu S không quá 1000.
Bài 2. Xếp thanh gỗ
Nam có một thanh gỗ có độ dài là một số nguyên dương N. Anh ta muốn thực hiện chính
xác ba lần cắt để được bốn phần của cây gậy. Mỗi phần có chiều dài số nguyên dương và tổng độ
dài của các phần này sẽ bằng N. Vốn yêu thích hình chữ nhật và không thích hình vuông, nên anh
tự hỏi, có bao nhiêu cách để cắt một thanh gỗ thành bốn phần để sau đó có thể tạo hình chữ nhật
bằng các phần này, nhưng không thể tạo thành hình vuông.
Yêu cầu: Em hãy lập trình giúp Nam đếm số cách như vậy.
Trang 2
Hai cách để cắt thanh gỗ được coi là khác biệt nếu tồn tại một số nguyên x, sao cho số phần của
độ dài x theo cách thứ nhất khác với số phần của độ dài x theo cách thứ hai.
Dữ liệu: Vào từ tệp văn bản RECTANGLE.INP gồm một dòng chứa số nguyên dương N (1 ≤ N
≤ 2×109) - chiều dài thanh gỗ của Nam.
Kết quả: Ghi ra tệp văn bản RECTANGLE.OUT một số nguyên duy nhất - số cách cắt thanh gỗ
của Nam theo yêu cầu. Nếu không cắt được thì ghi số 0.
Ví dụ:
RECTANGLE.INPRECTANGLE.OUTGiải thích
61chỉ có duy nhất 1 cách cắt là
{1,1,2,2}
204có 4 cách cắt là: {1, 1, 9, 9},
{2, 2, 8, 8}, {3, 3, 7, 7} và {4,
4, 6, 6}.
Ràng buộc:
 Có 30% số test ứng với 30% số điểm của bài có 1 ≤ N ≤ 105;
 Có 30% số test ứng với 30% số điểm của bài có 105 ≤ N ≤ 107;
 Có 40% số test ứng với 40% số điểm của bài có 107 ≤ N ≤ 2×109.
Bài 3. Dãy số
Cho dãy số nguyên gồm N phần tử A1, A2, …, AN.
Yêu cầu: Tìm giá trị và vị trí của phần tử lớn nhất trong dãy số, cuối cùng tính và in ra trung bình
cộng của các số có giá trị lẻ ở vị trí chẵn trong dãy.
Dữ liệu: Vào từ tệp văn bản SEQUENCE.INP, gồm 2 dòng:
 Dòng 1: chứa số nguyên N (1 ≤ N ≤ 106);
 Dòng 2: chứa N số nguyên A1, A2, ... AN (1 ≤ Ai ≤ 106). Ghi cách nhau một dấu cách.
Kết quả: Ghi ra tệp văn bản SEQUENCE.OUT, gồm 2 dòng:
 Dòng 1: giá trị của phần tử lớn nhất tiếp theo đó là một dấu cách và vị trí của phần tử đó
 Dòng 2: giá trị trung bình cộng của các số có giá trị lẻ ở vị trí chẵn trong dãy (Kết quả làm
tròn đến 2 chữ số thập phân).
Ví dụ:
SEQUENCE.INPSEQUENCE.OUT
7
3 2 6 7 23 25 4040 7
16.00
Ràng buộc:
 Có 50% số test ứng với 50% số điểm của bài có 1 ≤ N ≤ 103;
 Có 30% số test ứng với 30% số điểm của bài có 103 ≤ N ≤ 105;
 Có 20% số test ứng với 20% số điểm của bài có 105 ≤ N ≤ 106.
 
2 trả lời
Hỏi chi tiết
283
1
3
Hoàng Hiệp
01/06/2023 17:01:05
+4đ tặng
Uses crt;
Var  f:text;
i,d: integer;
S: string;
Begin
Clrscr;
            assign(f,'d:\hoangchau\xoaso.inp');
            reset(f);
            readln(f,s);
            close(f);
            assign(f,'d;\hoangchau\xoaso.out');
            rewrite(f);
            Write('Nhap xau S: '); Readln(S);
            For i:=length(S) downto 1 do
            If S[i] in ['0'..'9'] then
            begin
            Delete(S,i,1);
            d:=d+1;
            end;
            Writeln(f,s);
            writeln(f,d);
            readln;

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
0
0
Dannz
08/06/2023 09:36:05
var
  s: string;
  i, len, count: integer;
begin
  assign(input, 'COUNTOFWORDS.INP');
  reset(input);
  assign(output, 'COUNTOFWORDS.OUT');
  rewrite(output);
  readln(s);
  len := length(s);
  while (s[1] = ' ') do
    delete(s, 1, 1);
  while (s[length(s)] = ' ') do
    delete(s, length(s), 1);
  i := 1;
  while (i < length(s)) do
    if (s[i] = ' ') and (s[i + 1] = ' ') then
      delete(s, i + 1, 1)
    else
      inc(i);
  for i := 1 to length(s) do
    if (s[i] >= 'a') and (s[i] <= 'z') then
      s[i] := chr(ord(s[i]) - ord('a') + ord('A'));
  writeln(s);
  writeln(length(s));
  count := 0;
  for i := 1 to length(s) do
    if (s[i] = ' ') or (i = length(s)) then
      inc(count);
  writeln(count);
  close(input);
  close(output);
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
Bài tập Tin học Lớp 9 mới nhất

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

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư