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 - 返回 sum。

示例

以下是查詢陣列中完全平方數元素之和的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:
");    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

更新於:2021年3月26日

2K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.