编写C程序,查找在已知的两个从小到大有序的数组中出现的所有相同元素在第一个数组中的位置。

要求:通过函数实现最好使用指针数组的值由用户输入... 要求:通过函数实现
最好使用指针
数组的值由用户输入
展开
 我来答
QQ恶霸
2010-12-04 · 超过11用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
由于你没有说清楚是字符数组还是数值
我给你下面两个函数:
第一个是针对数组元素为数值型的,第二个是针对字符型的
#include<stdio.h>
#include<string.h>
#define M 10
void checkCom(int *a,int *b) //实现查找工能,并输出的函数
{
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
if(*(a+i)==*(b+j))
{
printf("%2d在第一个字符串中的%2d号位置\n",*(a+i),i);
}
}
}

}
void main()
{
int a[M],b[M],i;

printf("请输入第一个数组的内容(长度为%d):\n",M);
i=0;
do{
scanf("%d",&(a[i]));
i++;

}
while(i<M);
printf("请输入第二个数组的内容(长度为%d):\n",M);
i=0;
do{
scanf("%d",&(b[i]));
i++;
}
while(i<M);
checkCom(a,b);

}
第二个是针对字符串的
#include<stdio.h>
#include<string.h>
#define M 10
void checkCom(char *a,char *b)
{
int i,j;
strlen(a);
strlen(b);
for(i=0;i<strlen(a);i++)
{
for(j=0;j<strlen(b);j++)
{
if(*(a+i)==*(b+j))
{
printf("第二个字符串中的%2c字符出现在第一个字符串中的%2d号位置\n",*(a+i),i);
}
}
}

}
void main()
{
char a[M],b[M]; //
printf("请输入第一个数组的内容(长度小于%d):\n",M);
gets(a);
printf("请输入第二个数组的内容(长度小于%d):\n",M);
gets(b);
checkCom(a,b);

}
63278146
2010-12-04 · TA获得超过204个赞
知道小有建树答主
回答量:504
采纳率:100%
帮助的人:211万
展开全部
#include<stdio.h>
int search(int *p1,int *p2,int *p3,int n)
{
int count=0,num=0;
int *p1_end=p1+n,*p2_end=p2+n;
while(p1<p1_end&&p2<p2_end)
if(*p1<=*p2)
if(*p1==*p2)
{
*p3=count++;
p3++;
p1++;
p2++;
num++;
}
else
{
p1++;
count++;
}
else
{
p2++;
}
return num;
}
void main()
{
int a[5],b[5],c[5]={0};
int i,n=5;
for(i=0;i<n;i++)
{
printf("a[%d]:",i);
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
printf("b[%d]:",i);
scanf("%d",&b[i]);
}
n=search(a,b,c,n);
for(i=0;i<n;i++)
printf("%d\n",c[i]);

}
希望符合你的要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
饭客网络宣传
2010-12-04 · 超过13用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
想学习编程? 到饭客网络看看啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式