Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อเพิ่มองค์ประกอบสี่เหลี่ยมที่สมบูรณ์แบบทั้งหมดในอาร์เรย์


ปัญหา

เขียนโปรแกรมเพื่อหาผลรวมขององค์ประกอบกำลังสองสมบูรณ์ในอาร์เรย์

กำหนดจำนวนองค์ประกอบในอาร์เรย์เป็นอินพุต และผลรวมของกำลังสองสมบูรณ์ขององค์ประกอบเหล่านั้นที่มีอยู่ในอาร์เรย์จะเป็นเอาต์พุต

วิธีแก้ปัญหา

ตัวอย่างเช่น

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

อัลกอริทึม

อ้างถึงอัลกอริธึมที่ระบุด้านล่างเพื่อเพิ่มองค์ประกอบกำลังสองที่สมบูรณ์แบบในอาร์เรย์

ขั้นตอนที่ 1 - อ่านจำนวนองค์ประกอบในอาร์เรย์ที่รันไทม์

ขั้นตอนที่ 2 - ป้อนองค์ประกอบ

ขั้นตอนที่ 3 - ประกาศและเริ่มต้น sum=0

ขั้นตอนที่ 4 - ตรวจสอบว่าองค์ประกอบอาร์เรย์เป็นกำลังสองสมบูรณ์หรือไม่

ขั้นตอนที่ 5 - หากเป็นกำลังสองสมบูรณ์ ให้คำนวณ sum=sum+number

ขั้นตอนที่ 6 - ส่งคืนผลรวม

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C เพื่อค้นหาผลรวมขององค์ประกอบกำลังสองสมบูรณ์ในอาร์เรย์ -

#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;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -

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