Hôm nay chúng ta sẽ cùng giải một số bài tập để ôn lại kiến thức
Bài 1. Viết chương trình tính tổng đường chéo chính và đường chéo phụ trong ma trận n*n từ tệp matran.inp và xuất kết quả vào tệp matran.out.
input:
- Dòng đầu tiên là số nguyên n.
- n dòng tiếp theo mỗi dòng gồm n số nguyên biểu diễn ma trận.
output:- Một dòng duy nhất là tổng đường chéo chính và đường chéo phụ
Ví dụ:
Đường chéo chính chính là: 1, 8, 7.
Đường chéo phụ là: 3, 8, 9.
Tổng là: 36.
Bấm để hiện code mẫu
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, A[100][100], S = 0;
ifstream f("matran.inp");
f >> n;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
f >> A[i][j];
}
}
f.close();
for(int i = 1; i <= n; i++) {
S += A[i][i];
S += A[i][n - i + 1];
}
ofstream f2("matran.out");
f2 << S;
f2.close();
system("pause");
}
Bài 2. Viết chương trình tính tổng các số nguyên tố (số nguyên tố là số chỉ chia hết cho một và chính nó, 1 không phải số nguyên tố) có trong đoạn [1; n] với n nằm trong tệp nguyento.inp và xuất kết quả ra tệp nguyento.out.
input:
- Gồm một dòng là số nguyên n.
output:
- Một dòng duy nhất là tổng các số nguyên tố trong đoạn [1; n].
Bấm để hiện code mẫu
#include <bits/stdc++.h>
using namespace std;
bool nt(int a) {
if(a < 2)
return false;
for(int i = 2; i <= sqrt(a); i++) {
if(a % i == 0)
return false;
}
return true;
}
int main() {
int n, A[100][100], S = 0;
ifstream f("nguyento.inp");
f >> n;
f.close();
for(int i = 1; i <= n; i++) {
if(nt(i)) {
S += i;
}
}
ofstream f2("nguyento.out");
f2 << S;
f2.close();
system("pause");
}
Bài 3. Viết chương trình lưu thông tin học sinh vào tệp gồm:
- Họ và Tên (Không dấu).
- Năm sinh.
- Quê quán.
- Trường
- Lớp
input:
output:
- In ra mỗi thông tin trên 1 dòng trong tệp có tên là têncủahọcsinh_trường_lớp với đuôi .dat
Bấm để hiện code mẫu
#include <bits/stdc++.h>
using namespace std;
int main() {
string name, schooln, que, classn;
int yearb;
cout << "Ho va ten: ";
getline(cin, name);
cout << "Nam sinh: ";
cin >> yearb;
cin.ignore(); //Nếu ko sử dụng cin.ignore sau dòng này ký tự enter bị dư sẽ đưa vào biến que và chuyển sang nhập biến tiếp theo
cout << "Que quan: ";
getline(cin, que);
cout << "Truong: ";
getline(cin, schooln);
cout << "Lop: ";
getline(cin, classn);
string namef = name + "_" + schooln + "_" + classn + ".dat";
ofstream f(namef);
f << name << endl << yearb << endl << que << endl << schooln << endl << classn;
f.close();
system("pause");
}
Những bài tập trên sẽ giúp bạn ôn lại kiến thức cũ. Mong bạn có thể tự mình làm được hết. Hẹn gặp ở bài viết tiếp theo. Nếu có gì sai xót vui lòng để lại bình luận.
Nhận xét
Đăng nhận xét