Bài tập 051224
Câu 2. Sắp xếp ký tự số (KYTU.*)
Cho trước một xâu ký tự, trong xâu đó có thể chứa các ký tự "số" và ký tự không là "số". Viết chương trình tách các ký tự "số" của xâu đó và sắp xếp lại theo thứ tự giảm dần. Nếu không có ký tự "số" nào thì ghi "Khong".
Dữ liệu vào lấy từ file: Nhập vào một dòng duy nhất chứa một xâu ký tự.
Kết quả ra ghi vào file: Gồm một dòng ghi xâu ký tự "số" đã được sắp xếp theo thứ tự giảm dần hoặc "Khong" nếu xâu đó không chứa ký tự "số".
Ví dụ:
Vào (bàn phím) | Ra (màn hình) |
Nam2024 | 4220 |
ngay07thang12nam2024 | 74222100 |
Ngay thang nam | Không |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
string S= "";
cout<<"Nhap xau S= ";
getline(cin,S);
int len=S.length(), i;
char c;
vector <int> V;
bool coso=false;
for(i=0; i<len; i++)
{
c=S.at(i);
if(isdigit(c))
{
coso=true;
V.push_back(c-'0');
}
}
sort(V.begin(),V.end(),greater<int>());
int Vsize=V.size();
for(i=0; i<Vsize; i++)
{
cout << V.at(i);
}
if(!coso){
cout<<"Khong";
}
return 0;
}
Câu 3. XẾP HÀNG (XEPHANG.*)
Trong giờ sinh hoạt tập thể, lớp 9A có 𝑛 học sinh (n≤30) xếp thành hàng dọc. Mỗi học sinh có chiều cao a[i]. Em hãy viết chương trình đếm số bạn có chiều cao bằng nhau nhiều nhất (Nếu có nhiều nhóm học sinh có chiều cao bằng nhau thì lấy chiều cao lớn nhất)
Dữ liệu vào từ file: Số tự nhiên 𝑛 và n số tự nhiên a[i], mỗi số ứng với chiều cao của từng bạn (đơn vị cm), các số cách nhau một khoảng trắng.
Kết quả ra ghi vào file: Ghi 2 số tự nhiên cách nhau một khoảng trắng. Số thứ nhất ghi tổng số các bạn có chiều cao bằng nhau nhiều nhất. Số thứ hai ghi chiều cao tương ứng, các số.
Ví dụ:
Vào (bàn phím) | Ra (màn hình) |
11 160 158 158 160 159 158 159 158 160 158 161 | 5 158 |
11 160 158 159 160 159 158 159 158 160 159 161 | 4 159 |
9 160 158 159 160 158 159 158 160 159 | 3 160 |
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n, a[30], i;
cout << "Nhap so hoc sinh n= ";
cin>>n;
cout<<"Nhap chieu cao cua "<<n<<" hoc sinh cach nhau mot dau cach:";
for(i=0; i<n; i++)
{
cin>>a[i];
}
sort(a,a+n);
int dem=1, demmax=0, chieucao, chieucaomax=0;
n=n-1;
for(i=0; i<n; i++)
{
if(a[i]==a[i+1])
{
dem++;
chieucao=a[i];
}
else
{
if(demmax<=dem)
{
demmax=dem;
chieucaomax=chieucao;
dem=1;
}
}
}
if(demmax<=dem)
{
cout<<dem<<" "<<chieucao;
}
else
{
cout<<demmax<<" "<<chieucaomax;
}
return 0;
}
Câu 4: FIBONACCI (4 điểm).
Dãy Fibonacci là dãy gồm các số: 1, 1, 2, 3, 5, 8, ... được xác định bởi công thức sau: F1 =1, 𝐹2=1, 𝐹𝑖=𝐹𝑖−1+𝐹𝑖−2 với i>2.
Yêu cầu: Hãy biểu diễn số nguyên dương 𝑋𝑖 thành tổng của ít nhất các số Fibonaci khác nhau.
Dữ liệu: Nhập vào số nguyên dương N và N số nguyên dương Xi (Xi <10^100, 1<= i <= N).
Kết quả: Ghi ra N dòng, mỗi dòng là biểu diễn tổng các số fibonaci theo thứ tự từ bé đến lớn của số Xi.
Ví dụ:
Vào (bàn phím) | Ra (màn hình) |
3 19 129 8 | 19=1+5+13 129=1+5+34+89 8=8 |
Tác giả: Vàng Văn Quyn
Những tin cũ hơn
- Click vào nút hiển thị ngày trong tuần hoặc tháng âm lịch để xem chi tiết
- Màu đỏ: Ngày tốt
- Xanh lá: Đầu tháng âm lịch
- Màu vàng: Ngày hiện tại