1. Trang chủ
  2. » Công Nghệ Thông Tin

bài tập c phần tư duy bài 5

3 118 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 29,05 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hãy viết hàm tìm giá trị đầu tiên trong mảng có dạng 2^k.

Trang 1

Bài 166: Cho mảng 1 chiều các số nguyên Hãy viết hàm tìm giá trị đầu tiên trong mảng có dạng 2^k Nếu mảng không có giá trị dạng 2k thì hàm sẽ trả về 0

#include<stdio.h>

#include<conio.h>

#include<math.h>

#define MAX 100

void nhap (int a[], int &n)

{

do

{

printf("\nNhap so phan tu: ");

scanf("%d", &n);

if(n <= 0 || n > MAX)

{

printf("\nSo phan tu khong hop le Xin kiem tra lai !");

} }while(n <= 0 || n > MAX);

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

{

printf("\nNhap a[%d]: ", i);

scanf("%d", &a[i]);

}

}

Trang 2

void xuat(int a[], int n)

{

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

{

printf("%4d", a[i]);

}

}

int KiemTraDang2K(int n)

{

if (n <= 1)

return 1;

while(n > 1) // vòng lặp kết thúc khi n == 1

{

if(n % 2 != 0)

return 0;

n /= 2;

}

return 1;

}

int TimGiaTri2KDauTien(int a[], int n)

{

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

{

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

Trang 3

return a[i];

} }

return 0;

}

int main()

{

int n;

int a[MAX];

nhap(a, n);

xuat(a, n);

int KetQua = TimGiaTri2KDauTien(a, n);

printf("\nGia tri 2k dau tien la %d", KetQua);

getch();

return 0;

}

Ngày đăng: 19/10/2016, 22:26

TỪ KHÓA LIÊN QUAN

w