[Xâu Ký Tự Cơ Bản]. Bài 5. Chèn dấu phẩy

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Khi viết 1 số nguyên dương quá lớn, người ta thường thêm các dấu phẩy vào giữa các chữ số cho dễ đọc

Ví dụ : số N = 123456789 được viết thành 123,456,789, N = 12345 được viết thành 12,345. Nhiệm vụ của bạn là thêm dấu phẩy vào số N

Gợi ý : Duyệt từ cuối của xâu N về và nối các kí tự của N vào xâu kết quả, dùng thêm biến đếm nếu cứ đếm được 3 kí tự thì nối thêm 1 dấu phẩy vào xâu kết quả.


Đầu vào

Dòng duy nhất chứa số nguyên dương N


Giới hạn

1<=N<=10^18


Đầu ra

In ra N sau khi thêm dấu phẩy.


Ví dụ :

Input 01
999970094
Output 01
999,970,094

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    bengokyeuanh99  đã bình luận lúc 10, Tháng 9, 2025, 11:23

    Full AC

    include <iostream>

    include <string>

    include <algorithm>

    namespace formatter { const char separator = ','; const int groupSize = 3;

    std::string addThousandsSeparators(const std::string& rawInput) {
        std::string formattedOutput;
        formattedOutput.reserve(rawInput.size() + rawInput.size() / groupSize);
    
        int digitCounter = 0;
        for (int i = static_cast<int>(rawInput.size()) - 1; i >= 0; --i) {
            formattedOutput.push_back(rawInput[i]);
            digitCounter++;
    
            if (digitCounter % groupSize == 0 && i > 0) {
                formattedOutput.push_back(separator);
            }
        }
    
        std::reverse(formattedOutput.begin(), formattedOutput.end());
        return formattedOutput;
    }
    

    }

    int main() { std::ios::syncwithstdio(false); std::cin.tie(nullptr);

    std::string rawInput;
    std::cin >> rawInput;
    
    auto outputNumber = formatter::addThousandsSeparators(rawInput);
    std::cout << outputNumber << "\n";
    
    return 0;
    

    }


  • -4
    Kaybe  đã bình luận lúc 30, Tháng 3, 2025, 23:31

    include <stdio.h>

    include <stdlib.h>

    include <string.h>

    include <ctype.h>

    void solve(char c[]){ char res[10005]; int index = 0; int cnt = 0; for(int i = strlen(c) - 1; i >= 0; i--){ ++cnt; res[index] = c[i]; ++index; if(cnt % 3 == 0 && i != 0){ res[index] = ','; ++index; } } for(int i = index - 1; i >= 0; i--){ printf("%c", res[i]); } } int main(){ char c[10005]; scanf("%s", c); solve(c); }