使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(intA[NUM][NUM],int n)实现的功能是计算矩阵中所有非质数数字的和。 提示:函数isPrime(int n)的功能是判定

admin2015-07-20  31

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(intA[NUM][NUM],int n)实现的功能是计算矩阵中所有非质数数字的和。
    提示:函数isPrime(int n)的功能是判定当前数字是否为质数,如果是则返回true。
注意:不能修改程序的其他部分,只能修改sum()函数。
样1nclude<10Stream.h>
#include
#define NUM 50
int A[NUM][NUM]=
{
    {1 0,13,5 9,70,6),
(2,4 0,89,92,9),
    {14,55,71,11,19),
    {7 9,6 8,83,97,101),
    {1 02,10 001,23,45)
};
bool iSPrime(int n)
{
    if(n:=1)
    return false;
    if(n==2)
    return true;
    for(int i=2 ; i    {
    if(n%i==0)
    return false;
    }
    return true ;
}
int sum(int A[NUM][NUM],int n)
{
}
int main()
{
    cout<    return 0;
}

选项

答案Int re=0; for(int i=0 ; i
解析 (1)矩阵A[NUM][NUM]是2维矩阵,sum函数的参数n给出了矩阵A的具体维数,因此矩阵A中共含有n×1"1个有效数。
(2)A[NUM][NUM]中元素可表示为A[j],其中i表示元素所在行数,i表示元素所在的列数,i、j分别从0到n-1范围内变化,因此设置内外两层循环可逐个遍历整个矩阵寻找非质数。
(3)函数isprime提供了判断质数的方法,对每个元素A[j],调用函数isprime(A[j]),判断函数的返回值是否为假,如果为假说明不是质数,应该累加起来。
转载请注明原文地址:https://kaotiyun.com/show/S3Np777K
0

最新回复(0)