基于visual Studio2013解决C语言竞赛题之1044数组处理






题目


解决代码及点评

/*
分别输入N和M个数到数组A和数组B中。把只在其中一个数组中出现的那些数送入到数组C中,并指出它们在A或B数组中的位置。
*/
#include <stdio.h>
#include <stdlib.h>
void main()
{
	const int n=10;
	const int m=10;
	int a[n];
	int b[m];
	int c[n+m]={0};//为保证不同的数全部存储,c的大小定义为n+m;
	int k=0;

	//给数组a和b分配随机数
	for (int i=0;i<n;i++)
	{
		a[i]=rand()%100;
		printf("%d\t",a[i]);
	}
	printf("\n\n");

	for (int i=0;i<m;i++)
	{
		b[i]=rand()%200;
		printf("%d\t",b[i]);
	}
	printf("\n\n");
	//a与b比较,将a中不相同的数赋给c,并输出在a中的位置
	for (int i=0;i<n;i++)
	{
		int flag1=0;
		for (int j=0;j<m;j++)
		{
			if (a[i]==b[j])
			{
				flag1=1;
				continue;
			}
		}
		if (flag1==0)
		{
			c[k]=a[i];
			printf("i=%d\t",i);
			k++;
		}
	}

	//b与a比较,将b中不相同的数赋给c,并输出在b中的位置
	for (int j=0;j<m;j++)
	{
		int flag2=0;
		for (int i=0;i<n;i++)
		{
			if (b[j]==a[i])
			{
				flag2=1;
				continue;
			}
		}
		if (flag2==0)
		{
			c[k]=b[j];
			printf("j=%d\t",j);
			k++;
		}
	}

	//打印c
	for (int i=0;i<k;i++)
	{
		printf("%d\t",c[i]);
	}

	printf("\n\n");


	system("pause");
}


代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行


程序运行结果


代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






posted on 2013-12-09 20:04  三少爷的剑123  阅读(177)  评论(0编辑  收藏  举报

导航