01/10/2018, 01:04

Xem dùng cái mảng trong C giúp em

#include<stdio.h>
#include<math.h>
// ham nhap mang
void nhapmang (int a[],int &n)
{
    printf("nhap n:");
    scanf("%d",&n);
    int i;
    for(i=0;i<n;i++)
    {
        printf("
Nhap mang a[%d]",i);
        scanf("%d",&a[i]);
    }
}
// ham xuat mang
void xuatmang (int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%d	",a[i]);
}
// ham kiem tra snt
void ktsnt (int a[],int n)
{
	int j,i;
	for(i=0;i<n;i++)
	{
		for(j=2;j<a[i];j++)
		{if(a[i]%j==0) break;}
		if(a[i]==j) printf("
%d so nguyen to la
",a[i]);		
	}	
}
// ham kiem tra so hoan hao
void ktshh (int a[],int n)
{
	int k,s,i;
	for(i=0;i<n;i++)
	{
		s=0;
		for(k=0;k<a[i];k++)
		{
			if(a[i]%k==0) {s=s+k;}
		}
		if(s==a[i]) printf("
cac so hoan hao trong mang la %d
",a[i]);
	}
}
int main()
{
    int n;
    int a[1000];
    nhapmang(a,n);
    printf("gia tri cua cac mang la:");
    xuatmang(a,n);
    ktsnt(a,n);
    ktshh(a,n);
}

em viết cái hàm kiểm tra số hoàn hảo, nhưng khi đặt vào hàm main thì nó không chạy, em để nó ở trên hàm khác thì hàm khác không chạy nó cũng không chạy luôn. Đặt nó đâu thì chương trình kết thúc ở đó. em không biết là nó bị gì nữa?

Hoang Kien viết 03:18 ngày 01/10/2018

Bạn cho k=0 kìa. Khi chia cho số 0 là chương trình lỗi dừng lại luôn. Bạn gán giá trị ban đầu k=1 chắc là hết lỗi.

Bài liên quan
0