Kiểm tra mảng số nguyên có toàn là chữ số chẵn/lẻ hay không

2
16662

Bài toán: Kiểm tra mảng số nguyên có toàn là chữ số chẵn/le hay không ?

Input: mảng a có n phần tử

Xử lý:  duyệt mảng, nếu có 1 số nào đó không chia hết cho 2 thì trả về -1, rồi thoát khỏi vòng lặp

Output: mảng không hoàn toàn chẵn -1, mảng toàn chẵn 1

Hàm kiểm tra số chẵn

int KiemTraToanChan(int a[], int n)
{
	for( int i=0;i<n;i++)
		if(a[i]%2!=0)
		{
			return -1;
			break;
		}
	return 1;
}

Hàm kiểm tra số lẻ

int KiemTraToanLe(int a[], int n)
{
	for( int i=0;i<n;i++)
		if(a[i]%2==0)
		{
			return -1;
			break;
		}
	return 1;
}

Chương trình kiểm tra số chẵn

#include<stdio.h>
#include<conio.h>
#define MAX 100
void nhapmang(int a[], int &n);
void xuatmang(int a[], int n);
int KiemTraToanChan(int a[], int n);
void main()
{
	int a[MAX],n;
	nhapmang(a,n);
	printf("\nNoi dung cua mang");
	xuatmang(a,n);
	if( KiemTraToanChan(a,n)==-1)
		printf("\nMang khong toan chan");
	else
		printf("\nMang toan la so chan");
	printf("\nChuc cac ban hoc tot");
	getch();
}
void nhapmang(int a[], int &n)
{
	do
	{
		printf("\nSo phan tu trong mang ");
		scanf("%d",&n);
	}while(n<=0 && n>100);
	for(int i=0 ; i<n ; i++ )
	{
		printf("\nSo phan tu a[%d] la: ",i);
		scanf("%d",&a[i]);
	}
}
void xuatmang(int a[], int n)
{
	for(int i=0 ; i<n ; i++ )
		printf("%4d",a[i]);
}
int KiemTraToanChan(int a[], int n)
{
	for( int i=0;i<n;i++)
		if(a[i]%2!=0)
		{
			return -1;
			break;
		}
	return 1;
}

Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.

Chúc các bạn thành công!

Xem thêm: Kiểm tra mảng số nguyên có toàn là chữ số chẵn hay không ?

2 COMMENTS

  1. Break để nó thoát ra khi có số lẻ, để k chạy hết vòng lặp
    Ví dụ như mảng có n=10 số thì i=4 nó là số lẽ thì thoát ra vòng lặp thì đỡ xíu, chứ để chạy hết vòng lặp cũng được nhưng k tối ưu

This site uses Akismet to reduce spam. Learn how your comment data is processed.