基于visual Studio2013解决C语言竞赛题之0520相邻元素

原创 2013年12月04日 23:36:01








题目


解决代码及点评

/************************************************************************/
/* 
20.	找出 M×N 数组中所有不相邻元素,
并求出它们的和(相邻的数:前一个是偶数,后一个是素数)。

*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

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<N;i++)
	{
		for (int j=0;j<M;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<M*N-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)拷贝代码与运行


程序运行结果





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

基于visual Studio2013解决C语言竞赛题之1085相邻之和素数

题目解决代码及点评/************************************************************************/ /* 85. 相邻数之和为素数。...

基于visual Studio2013解决C语言竞赛题之0614递归大元素

题目解决代码及点评/************************************************************************/ /* 14. 编一个程序,读入...

基于visual Studio2013解决C语言竞赛题之0707月份输出

题目解决代码及点评/* 编一程序,打入月份号,输出该月的英文月名。 例如,输入"3",则输出"March",要求用指针数组处理。 */ #include #include void main()...

基于visual Studio2013解决C语言竞赛题之1028平均值

题目解决代码及点评/* 已知有9个数,请求出这些数中的最大值、最小值及平均值,以及有多少个数等于平均值? */ #include #include void f50028(int *p) { i...

基于visual Studio2013解决C语言竞赛题之0409 100以内素数

题目解决代码及点评/************************************************************************/ /* 9. 打印1-100之间...

基于visual Studio2013解决C语言竞赛题之0601判断素数函数

题目解决代码及点评//编写一函数判断一个数是否为素数 #include #include #include void f61(int a ) {  if (a==0)  {   printf("%...

基于visual Studio2013解决C语言竞赛题之1021九九乘法表

题目解决代码及点评/* 功能:请编程序按如下格式打印一个直角三角形的九九乘法表: 1 2 3 4 5 6 7 8 9 4 6 ...

基于visual Studio2013解决C语言竞赛题之0205位数求和

题目解决代码及点评#include #include void main() { int num; int sum=0; printf("please input num\n"); sc...

基于visual Studio2013解决C语言竞赛题之1082迷宫

题目解决代码及点评/************************************************************************/ /* 82. 试编写一个程序寻...

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

题目解决代码及点评/************************************************************************/ /* 88. 模拟计算器。 编写...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于visual Studio2013解决C语言竞赛题之0520相邻元素
举报原因:
原因补充:

(最多只允许输入30个字)