Bài Viết một chương trình thực hiện các công việc sau: Khai báo dãy a gồm 100 số nguyên và một biến nguyên n nhập giá trị cho N, kiểm tra 0 < N



tải về 53.13 Kb.
Chuyển đổi dữ liệu23.07.2016
Kích53.13 Kb.
#2677
Bài 1. Viết một chương trình thực hiện các công việc sau:
- Khai báo dãy a gồm 100 số nguyên và một biến nguyên N

- Nhập giá trị cho N, kiểm tra 0 < N <=100. Nếu không thoả, yêu cầu người sử dụng nhập lại

- Nhập tiếp vào N số nguyên, chứa vào dãy a từ phần tử a[0] đến a[N-1]

- Tính trung bình cộng của N số nguyên vừa nhập và in kết quả ra màn hình.


Bài 2. Viết một chương trình thực hiện các công việc sau:
- Khai báo dãy a gồm 100 số nguyên và hai biến nguyên N,M

- Nhập giá trị cho N, kiểm tra 0 < N <=100. Nếu không thoả, yêu cầu người sử dụng nhập lại

- Nhập tiếp vào N số nguyên, chứa vào dãy a từ phần tử a[0] đến a[N-1]

- Nhập giá trị cho M, kiểm tra 2 <= M <= 5. Nếu không thoả, yêu cầu người sử dụng nhập lại

- Cộng dồn N phần tử đã nhập của dãy a, chứa vào một biến T. Tuy nhiên nếu a[i] chia hết cho M, các phần tử a[i+1], a[i+2], a[i+3],…, a[i+M-1] sẽ không được cộng dồn vào T. Khi a[i] chia hết cho M, không cần kiểm tra các giá trị a[i+1], a[i+2], a[i+3],…, a[i+M-1] có chia hết cho M hay không.

- In giá trị T ra màn hình


Bài 3. Viết một chương trình thực hiện các công việc sau:
- Khai báo dãy a gồm 100 số nguyên và hai biến nguyên N,M

- Nhập giá trị cho N, kiểm tra 0 < N <=100. Nếu không thoả, yêu cầu người sử dụng nhập lại

- Nhập tiếp vào N số nguyên, chứa vào dãy a từ phần tử a[0] đến a[N-1]

- Nhập giá trị cho M, kiểm tra 2 <= M <= 5. Nếu không thoả, yêu cầu người sử dụng nhập lại

- Cộng dồn N phần tử đã nhập của dãy a, chứa vào một biến T. Tuy nhiên nếu a[i] là một số Fibonacci, các phần tử a[i+1], a[i+2], a[i+3],…, a[i+M-1] sẽ được nhân cho M trước khi được cộng dồn vào T. Nếu a[i] là một số Fibonacci, không cần kiểm tra a[i+1], a[i+2], a[i+3],…, a[i+M-1] có phải là số Fibonacci hay không.

- In giá trị T ra màn hình


Bài 4. Viết một chương trình thực hiện các công việc sau:
- Khai báo một cấu trúc POINT gồm hai thành phần là 2 số nguyên xy

- Khai báo dãy a gồm 10 POINT và một biến nguyên N

- Nhập giá trị cho N, kiểm tra 0 < N <=10. Nếu không thoả, yêu cầu người sử dụng nhập lại

- Nhập tiếp vào N cấu trúc POINT , chứa vào dãy a từ phần tử a[0] đến a[N-1]

- Khởi động một biến tổng T = 0 và một biến fFlag = false

- Sử dụng một vòng lặp có biến đếm i, với giá trị của i thay đổi từ 0 tăng dần đến N-1, thực hiện các công việc sau trong thân vòng lặp:

+ Nếu a[i].x là một số nguyên tố và a[i].y là một số Fibonacci thì gán fFlag = true và kết thúc vòng lặp lập tức

+ Ngược lại, T = T + a[i].x

- Nếu vòng lặp kết thúc với fFlag = true thì tạo một vòng lặp mới với biến đếm j; với giá trị của j thay đổi từ giá trị hiện hành của i giảm dần về 0. Với mỗi bước lặp của vòng lặp, tiếp tục cộng dồn T = T + a[i].y

- In giá trị của T ra màn hình



Bài giải

Bài 1:
#include

#include


int main()

{

int a[100];



int N;

long int sum = 0;


cout << "\nNhap so phan tu cua mang...\n";

do

{



cout << "\nGia tri N trong khoang (0..100] : ";

cin >> N;

}

while (N <= 0 || N > 100);


cout << "\nNhap gia tri cho tung phan tu cua mang...\n";

for(int i = 0; i < N; i++)

{

cout << "\na[" << i << "] = ";



cin >> a[i];
sum += a[i];

}
cout << "\nTrung binh cong cua day so vua nhap = ";

cout << (float)sum/N;
getchar();
return 0;

}

Bài 2:


#include

#include


int main()

{

int a[100];



int N, M;

int i = 0;

long int T = 0;
cout << "\nNhap so phan tu cua mang...\n";

do

{



cout << "\nGia tri N trong khoang (0..100] : ";

cin >> N;

}

while (N <= 0 || N > 100);


cout << "\nNhap gia tri cho tung phan tu cua mang...\n";

for(i = 0; i < N; i++)

{

cout << "\na[" << i << "] = ";



cin >> a[i];

}
cout << "\nNhap so can kiem tra...\n";

do

{

cout << "\nGia tri M trong doan [2..5] : ";



cin >> M;

}

while (M < 2 || M > 5);


i = 0;

do

{



if (a[i] % M == 0)

i = i + (M - 1);

else

T = T + a[i];


i++;

}

while (i < N);


cout << "\nTong co dieu kien cua mang = ";

cout << T;

getchar();
return 0;

}

Bài 3:


#include

#include


int checkFibo(int n)

{

long int Fibo_0, Fibo_1, Fibo_2;



int flag = 0;

if(n < 0) flag = 0;

else if( n == 0 || n == 1) flag = 1;

else


{

flag = 0;

Fibo_0 = 0;

Fibo_1 = 1;

Fibo_2 = Fibo_0 + Fibo_1;

do

{



Fibo_0 = Fibo_1;

Fibo_1 = Fibo_2;

Fibo_2 = Fibo_0 + Fibo_1;

}

while(Fibo_2 < n);


if (Fibo_2 == n) flag = 1;

}
return flag;

}
int main()

{

int a[100];



int N, M;

int i = 0;

long int T = 0;
cout << "\nNhap so phan tu cua mang...\n";

do

{



cout << "\nGia tri N trong khoang (0..100] : ";

cin >> N;

}

while (N <= 0 || N > 100);


cout << "\nNhap gia tri cho tung phan tu cua mang...\n";

for(i = 0; i < N; i++)

{

cout << "\na[" << i << "] = ";



cin >> a[i];

}
cout << "\nNhap so can kiem tra...\n";

do

{

cout << "\nGia tri M trong doan [2..5] : ";



cin >> M;

}

while (M < 2 || M > 5);


i = 0;

do

{



if (checkFibo(a[i]) == 1)

{

for (int j = i; j < i + M; j++)



if (j >= N) break;

else


T = T + M * a[j];
i = i + M;

}

else



{

T = T + a[i];

i++;

}

}



while (i < N);
cout << "\nTong co dieu kien cua mang = ";

cout << T;

getchar();
return 0;

}

Bài 4:


#include

#include

#include
struct POINT

{

int x;



int y;

};
int checkFibo(int n)

{

long int Fibo_0, Fibo_1, Fibo_2;



int flag = 0;

if(n < 0) flag = 0;

else if( n == 0 || n == 1) flag = 1;

else


{

flag = 0;

Fibo_0 = 0;

Fibo_1 = 1;

Fibo_2 = Fibo_0 + Fibo_1;

do

{



Fibo_0 = Fibo_1;

Fibo_1 = Fibo_2;

Fibo_2 = Fibo_0 + Fibo_1;

}

while(Fibo_2 < n);


if (Fibo_2 == n) flag = 1;

}
return flag;

}
int checkPrime(int n)

{

int flag = 1;


if (n < 2) flag = 0;

else


for(int i = 2; i <= sqrt(n); i++)

if (n % i == 0)

{

flag = 0;



break;

}

return flag;



}

int main()

{
int N;

int i, j;

long int T = 0;

bool fFlag = false;

POINT a[10];
cout << "\nNhap so phan tu cua mang...\n";

do

{



cout << "\nGia tri N trong khoang (0..10] : ";

cin >> N;

}

while (N <= 0 || N > 10);


cout << "\nNhap gia tri cho tung phan tu cua mang...\n";

for(i = 0; i < N; i++)

{

cout << "\nNhap x, y cho phan tu thu " << i << "\n";



cout << "\na[" << i << "].x = "; cin >> a[i].x;

cout << "\na[" << i << "].y = "; cin >> a[i].y;

cout << "\n";

}

for(i = 0; i < N; i++)



{

if (checkPrime(a[i].x) == 1 && checkFibo(a[i].y) == 1)

{

fFlag = true;



break;

}

else



T = T + a[i].x;

}
if (fFlag)

{

for(j = i; j >= 0; j--)



{

T = T + a[j].y;



}

}
cout << "\nTong co dieu kien cua mang = ";



cout << T;
getchar();
return 0;

}
tải về 53.13 Kb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương