问答题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(int A[NUM][NUM],int n)实现的功能是计算矩阵中所有非质数数字的和。提示:函数isPrime(int n)的功能是判定当前数字是否为质数,如果是则返回true。注意:不能修改程序的其他部分,只能修改sum()函数。#include<iostream.h>#include<cmath>#defime NUM 50int A[NUM][NUM]={ {1 0,1 3,5 9,7 0,6}, {2,4 0,8 9,92,9}, {1 4,5 5,7 1,1 1,1 9}, {7 9,68,8 3,97,1 0 1}, {1 02,1 0 0 0 1,2 3,4 5}};bool isPrime(int n){ if(n==1) return false; if(n==2) retumR true; for(int i=2; i<n/2;i++) { if(n%i==0) return false; } return true;}int sum(int A[NUM][NUM],int n){}int msin(){ cout<<sum(A,5)<<endl; return 0;}
【正确答案】正确答案:int re=0; for (int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(!is Prime(A[i][j])) //判断是否是素数,不是素数则累加 { re=re+A[i][j]; } } } return re;
【答案解析】解析:函数sum(int A[NUM][NUM],int n)的功能是实现计算矩阵A[NUM][NUM]中所有非质数数字的和,在计算累加和之前需先判断该数是否是质数,不是质数则累加起来,可用循环来实现累加求和。