Thứ Sáu, 19 tháng 10, 2018

Lập Trình C: Viết chương trình thực hiện các chức năng sau (dùng hàm)

Viết chương trình thực hiện các chức năng sau (dùng hàm):
a. Nhập vào một số nguyên n (0 < n <100).
b. Kiểm tra n có phải là số nguyên tố không?
c. Liệt kê các số nguyên tố từ 1 đến n.
d. Đếm số lượng số nguyên tố từ 1 đến n.
e. Tính tổng các số nguyên tố từ 1 đến n.
f. Tính trung bình cộng các số nguyên tố từ 1 đến n.

 

#include <stdio.h>

//A. Nhap so nguyen 0 < n < 100
void nhapsn(int &n)
{
do{
printf("Nhap so nguyen 0 < n < 100 ");
scanf("%d", &n);
}while(n<=0 || n>=100);
}

//B. Kiem tra n co phai la so nguyen to
int KTNT(int n)
{
int i, d=0;
for(i=1; i<=n; i++)
if(n%i==0)
d++;
if(d==2)
return 1;
return 0;
}

//C. Liet ke cac so nguyen to trong pham vi tu 1 den n
void LKNT(int n)
{
printf("Cac so nguyen to tu 1 den %d: ", n);
for(int i=1; i<=n; i++)
if(KTNT(i)==1)
printf("%d ", i);
}

//D. Dem so luong so nguyen to trong pham vi tu 1 den n
int DemNT(int n)
{
int i, d=0;
for(i=2; i<=n; i++)
if(KTNT(i)==1)
d++;
return d;
}

//E. Tinh tong cac so nguyen to trong pham vi tu 1 den n
int Tong(int n)
{
int i, s=0;
for(i=1; i<=n; i++)
if(KTNT(i)==1)
s=s+i;
return s;
}

//F. Tinh trung binh cong cac so nguyen to tu 1 den n
float TBC(int n)
{
return (float)Tong(n)/DemNT(n);
}


//-----------------------------------------------------------------------------------
int main()
{
int n;
nhapsn(n);
if(KTNT(n)==1)
printf("%d la so nguyen to\n", n);
else printf("%d khong la so nguyen to\n", n);
LKNT(n);
Tong(n); printf("\nTong la %d" , Tong(n));
printf("\nTBC la %f", (float)Tong(n)/DemNT(n));
return 0;
}

Share:

0 nhận xét:

Đăng nhận xét