题目
解决代码及点评
/*
分别输入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