Nu stiu cum sa afisez exact 2 zecimale dupa virgula. Ma poate ajuta cineva?
Cerinţa
Să se scrie un program care citeşte de la tastatură un număr natural n şi apoi un şir de n numere naturale şi determină media aritmetică a celor prime.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieşire
Programul afișează pe ecran numărul M, reprezentând media aritmetică a valorilor prime.
Restricţii şi precizări
0 < n < 1000;
cele n numere citite vor fi mai mici decât 10000;
rezultatul se va afişa cu cel puțin două zecimale exacte;
în toate testele, printre cele n numere va exista cel puțin un număr prim.
Exemplu:
Intrare
5
8 7 5 9 11
Ieșire
7.66
Acesta este codul meu
#include
#include
#include
using namespace std;
int main()
{ unsigned n,i,d,p,k,x,S;
cin>>n;
k=0;
S=0;
for(i=1;i<=n;i++)
{
cin>>x;
p=2;
for(d=2;d<=(sqrt(x));d++)
if(x%d==0)
p=p+2;
if(sqrt(x)==(int)(sqrt(x)))
p=p-1;
if(p==2)
{
k=k+1;
S=S+x;
}
}
cout<<(float)S/k;
return 0;
}
Răspunsuri la întrebare
Răspuns de
0
#include<iostream>
using namespace std;
int main()
{
int n, nr, prim, i, div;
float suma=0, nrprim=0, M;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>nr;
prim=1;
for(div=2;div*div<=nr;div++)
if(nr%div==0) prim=0;
if(nr<2) prim=0;
if(prim==1) { suma=(suma+nr); nrprim=nrprim+1; }
}
M=float(suma/nrprim);
M=M*100;
M=(int)M;
M=M/100;
cout<<M;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă