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?
Bài liên quan
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.