题目
解决代码及点评
/************************************************************************/
/*
20.找出 M×N 数组中所有不相邻元素,
并求出它们的和(相邻的数:前一个是偶数,后一个是素数)。
*/
/************************************************************************/
#include
#include
#include
#include
bool IsOdd(int num)
{
return (bool)(num%2);
}
bool IsSS20(int num)
{
if (num<2)
{
return false;
}
else if (num==2)
{
return true;
}
else if (num==3)
{
return true;
}
else
{
for (int i=2;i<=sqrt((double)num);i++)
{
if (num%i==0)
{
return false;
}
}
return true;
}
}
void main()
{
const int N=10;
const int M=10;
int arr[N][M]={0};
for (int i=0;i
{
for (int j=0;j
{
arr[i][i]=rand()%100;
}
}
int * brr=&arr[0][0];
int sum=0;
if (!IsOdd(*(brr)&&IsSS20(*(brr+1))))
{
sum+=*(brr);
printf("%5d",*(brr));
}
for (int i=1;i
{int flag=1;
if (!IsOdd(*(brr+i)&&IsSS20(*(brr+i+1))))
{
flag=0;
}
if (!IsOdd(*(brr+i-1)&&IsSS20(*(brr+i))))
{
flag=0;
}
if (flag==1)
{
sum+=(*(brr+i));
printf("%5d",*(brr+i));
}
}
if (!IsOdd(*(brr+M*N-1)&&IsSS20(*(brr+M*N-2))))
{
sum+=*(brr+M*N-1);
printf("%5d",*(brr+M*N-1));
}
printf("\n和为:%d",sum);
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果