C入门菜鸟求助
已知两个数组,找出相同元素,请问我这段代码要怎么修改呢?(希望是在原基础上帮忙修改,如果有其他方法的完整代码也可以,谢谢大家!)#include<stdio.h>
#define M 10
#define N 9
int find_same(int a,int b)
{
for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
{
if(a==b)
{
printf("%d",a);
}
else if(a<b)
{
a;
}
}
}
return 0;
}
int main()
{
int a1={2,5,5,5,6,7,9,10,11,11};
int b1={2,2,3,5,5,7,7,8,10};
printf("%d",find_same(a1,b1));
return 0;
} 本帖最后由 傻眼貓咪 于 2022-9-7 21:13 编辑
#include <stdio.h>
#define M 10
#define N 9
void foo(int A, int B) {
int arr = { 0 };
for (int i = 0; i < M; ++i)
for (int j = 0; j < N; ++j) {
if (!arr] && (A == B)) {
printf("%d ", A);
arr] = 1;
}
}
}
int main(void) {
int
A = { 2, 5, 5, 5, 6, 7, 9, 10, 11, 11 },
B = { 2, 2, 3, 5, 5, 7, 7, 8, 10 };
foo(A, B);
return 0;
}2 5 7 10 #include<stdio.h>
#define M 10
#define N 9
void find_same(int a,int b)
{
for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
{
if(a==b)
{
printf("%d ",a);
break; //a已经一样的了,直接结束看下一个
}
// else if(a<b)
// {
// a; //这没啥用,只是让i+1而已,甚至导致循环跳了一下
// }
}
while (a==a) i++; //因为给的数组是按顺序排的,一样的在一起,用加i的方法跳过相同给的
}
}
int main()
{
int a1={2,5,5,5,6,7,9,10,11,11};
int b1={2,2,3,5,5,7,7,8,10};
find_same(a1,b1);
return 0;
}
页:
[1]