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
广告