Luyện tập hàm

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Hàm nhập xuất sử dụng tham chiếu 100 (p) 1.0s 256M
2 Hàm giá trị lớn nhất 100 (p) 1.0s 256M
3 Hàm tổng chữ số 100 (p) 1.0s 256M
4 Hàm đảo ngược xâu ký tự 100 (p) 1.0s 256M
5 Hàm kiểm tra xâu đối xứng 100 (p) 1.0s 256M
6 Hàm nhập mảng và tìm giá trị lớn nhất 100 (p) 1.0s 256M

1. Hàm nhập xuất sử dụng tham chiếu

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Viết hàm nhập giá trị cho số nguyên \(n\) và in ra màn hình giá trị \(n\) đã nhập.

Học sinh sử dụng đoạn chương trình sau và tiếp tục chỉnh sửa:

C++
#include <bits/stdc++.h>
using namespace std;

// Viết hàm input để nhập giá trị của n có sử dụng tham chiếu. 
signed main(){
    int n; input(n);
    cout << n;
}

Input

  • Không có dữ liệu đầu vào cụ thể (hoặc theo yêu cầu của hàm).

Output

  • In ra giá trị của \(n\) đã được nhập.

Example

Test 1

Input
5
Output
5

2. Hàm giá trị lớn nhất

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Viết hàm nhập vào 2 số nguyên \(x\) và \(y\). Sau đó in ra giá trị của \(\text{Max}(x, y)\).

Học sinh sử dụng đoạn chương trình sau và tiếp tục chỉnh sửa:

C++
#include <bits/stdc++.h>
using namespace std;

// Viết hàm input để nhập giá trị của x, y có sử dụng tham chiếu.
// Viết hàm Max trả về giá trị lớn nhất của một trong 2 số truyền vào  
signed main(){
    long long x, y; input(x, y);
    cout << Max(x, y);
}

Input

  • Gồm 2 số nguyên \(x\) và \(y\) \((x, y \le 10^{18})\).

Output

  • In ra giá trị của \(\text{Max}(x, y)\).

Example

Test 1

Input
4 5
Output
5

3. Hàm tổng chữ số

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Viết hàm nhập giá trị cho số nguyên \(n\) (\(n \le 10^{18}\)) và in ra màn hình tổng các chữ số của \(n\).

Học sinh sử dụng đoạn chương trình sau và tiếp tục chỉnh sửa:

C++
#include <bits/stdc++.h>
using namespace std;

// Viết hàm input để nhập giá trị của n có sử dụng tham chiếu.

// Viết hàm tongchuso(n) trả về giá trị là tổng các chữ số của n 
int tongchuso(long long n){
    // Học sinh hoàn thiện tại đây 
}

signed main(){
    long long n; input(n);
    cout << tongchuso(n);
}

Input

  • Dữ liệu nhập vào từ bàn phím gồm số nguyên \(n\) (\(0 \le n \le 10^{18}\)).

Output

  • In ra màn hình tổng các chữ số của \(n\).

Example

Test 1

Input
12345
Output
15

4. Hàm đảo ngược xâu ký tự

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Viết chương trình nhập vào một xâu ký tự. Viết hàm Reverse(s) trả về xâu đảo ngược của s. In ra màn hình xâu s sau khi đảo ngược bằng hàm trên.

Học sinh sử dụng đoạn chương trình sau và tiếp tục chỉnh sửa:

C++
#include <bits/stdc++.h>
using namespace std;

// Viết hàm input nhập vào xâu ký tự s có sử dụng tham chiếu

// Viết hàm Reverse(s) trả về xâu đảo ngược của s 
string Reverse(string s){
    // Học sinh hoàn thiện hàm ở đây
}

signed main(){
    string s; input(s);
    cout << Reverse(s);
}

Input

  • Một dòng duy nhất chứa xâu ký tự s (không chứa khoảng trắng).

Output

  • In ra màn hình xâu đảo ngược của s.

Example

Test 1

Input
HelloWorld
Output
dlroWolleH

5. Hàm kiểm tra xâu đối xứng

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Viết chương trình nhập vào một xâu và kiểm tra tính đối xứng của nó.

Học sinh bắt buộc sử dụng đoạn chương trình sau và tiếp tục chỉnh sửa:

C++
#include <bits/stdc++.h>
using namespace std;

// Viết hàm input để nhập vào một xâu S có sử dụng tham chiếu. 

// viết hàm kiểm tra tính đối xứng của S.
bool isPalindrome(string S){
    // Trả về true nếu S là xâu đối xứng, ngược lại trả về false.
}
signed main(){
    string S; input(S);
    if (isPalindrome(S))
        cout << "YES";
    else 
        cout << "NO";
}

Input

  • Một xâu ký tự cần kiểm tra.

Output

  • In ra YES nếu xâu đó đối xứng, ngược lại in ra NO.

Example

Test 1

Input
racecar
Output
YES

Test 2

Input
hello
Output
NO

6. Hàm nhập mảng và tìm giá trị lớn nhất

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Viết hàm nhập giá trị cho số nguyên \(n\) và \(n\) số nguyên \(a_i\). In ra màn hình số lớn nhất của \(n\) số đã nhập.

Học sinh sử dụng đoạn chương trình sau và tiếp tục chỉnh sửa:

C++
#include <bits/stdc++.h>
using namespace std;
int a[100005];
// Viết hàm input để nhập giá trị của n và n số nguyên ai có sử dụng tham chiếu. 
void input(int &n, int a[]){
    // Nhập số nguyên n và n số nguyên ai
}
// Viết hàm trả về giá trị lớn nhất của mảng a. 
int maxArray(int n, int a[]){
    // Trả về số lớn nhất của mảng a.
}
signed main(){
    int n; input(n, a);
    cout << maxArray(n, a);
}

Input

  • Không có dữ liệu đầu vào cụ thể (hoặc theo yêu cầu của hàm).

Output

  • In ra giá trị của \(n\) đã được nhập.

Example

Test 1

Input
5
1 3 2 5 4 
Output
5

Test 2

Input
3 
100 50 200
Output
200