Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để thêm tất cả các phần tử hình vuông hoàn hảo trong một mảng.

Vấn đề

Viết chương trình để tìm tổng các phần tử bình phương hoàn hảo trong một mảng.

Cho một số phần tử trong mảng làm đầu vào và tổng của tất cả các bình phương hoàn hảo của các phần tử đó có trong mảng là đầu ra.

Giải pháp

Ví dụ:

Input= 1, 2, 3, 4, 5, 9,10,11,16
The perfect squares are 1, 4, 9, 16.
Sum = 1 + 4 + 9 +16 = 30
Output: 30

Thuật toán

Tham khảo thuật toán đưa ra bên dưới để thêm các phần tử hình vuông hoàn hảo vào một mảng.

Bước 1 - Đọc số phần tử trong mảng trong thời gian chạy.

Bước 2 - Nhập các phần tử.

Bước 3 - Khai báo và khởi tạo sum =0

Bước 4 - Kiểm tra xem phần tử mảng có phải là một hình vuông hoàn hảo hay không.

Bước 5 - Nếu nó là một hình vuông hoàn hảo, thì hãy tính tổng =sum + số.

Bước 6 - Trả lại số tiền.

Ví dụ

Sau đây là chương trình C để tìm tổng các phần tử bình phương hoàn hảo trong một mảng -

#include<stdio.h>
#include<math.h>
int isPerfectSquare(int number){
   int iVar;
   float fVar;
   fVar=sqrt((double)number);
   iVar=fVar;
   if(iVar==fVar)
      return number;
   else
   return 0;
}
int main(){
   int n;
   printf("enter no: of elements:");
   scanf("%d",&n);
   int arr[n];
   int i;
   printf("enter the elements in an array:\n");
   for(i = 0; i < n; i++){
      scanf("%d",&arr[i]);
   }
   int sum = 0;
   for(i = 0; i < n; i++){
      sum = sum + isPerfectSquare(arr[i]);
   }
   printf("sum=%d",sum);
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Run 1:
enter no: of elements:5
enter the elements in an array:
1
3
5
9
10
sum=10
Run 2:
enter no: of elements:5
enter the elements in an array:
1
4
9
16
25
sum=55