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+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告