Đề bài: viết chương trình tính trung bình cộng các số nguyên tố trong mảng
Mọi người ơi, khi mình chạy thì có 0 error, 1 warning (mình biết chắc sai cái gì đó rồi nhưng mình không tìm được lỗi sai đó). Sau khi mình chạy thì khoảng 1s sau nó tự kết thúc chương trình và để “Press any key…” mà chưa nhập vô dữ liệu gì hết.
#include<stdio.h>
#include<conio.h>
#include<math.h>
void Nhap(int A[],int &nA);
int kiemtraSonguyento(int x);
void tachMang(int A[],int nA,int B[],int &nB);
void tbcSonguyento(int B[],int nB,double &tbc);
void Xuat(double tbc);
void main()
{
int A[1000000],nA,B[1000000],nB;
Nhap(A,nA);
double tbc;
tbcSonguyento(B,nB,tbc);
Xuat(tbc);
}
void Nhap(int A[],int &nA)
{
scanf("%d",&nA);
for (int iA=0;iA<nA;iA++)
scanf("%d",&A[iA]);
}
int kiemtraSonguyento(int x)
{
int dem=0;
for (int i=1;i<=x;i++)
if (x%i==0)
dem=dem+1;
if (dem==2)
return 1;
return 0;
}
void tachMang(int A[],int nA,int B[],int &nB)
{
nB=0;
for (int iA=0;iA<nA;iA++)
{
if (kiemtraSonguyento(A[iA])==1)
B[nB++]=A[iA];
}
}
void tbcSonguyento(int B[],int nB,double &tbc)
{
int tong=0;
for (int iB=0;iB<nB;iB++)
{
tong=tong+B[iB];
}
tbc=float(tong)/nB;
}
void Xuat(double tbc)
{
printf("%.2f",tbc);
getch();
}