编写一个程序,其中包括一个函数, 该函数将比较两个相同大小的数组中的值。 如果两个数组中的元素相同,则函数返回1,否则返回0。 在函数中声明两个数组,每个有五个元素

编写一个程序,其中包括一个函数,
该函数将比较两个相同大小的数组中的值。
如果两个数组中的元素相同,则函数返回1,否则返回0。
在函数中声明两个数组,每个有五个元素。
通过使用该函数进行比较,并显示结果。

#include<stdio.h>
int main()
{
int a[5],b[5],i,j,x,y;
printf("输入数组a的元素:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("输入数组b的元素:\n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
printf("%d,%d",a[i],b[i]);
for(j=0;j<5;j++)
{
if(a[j]>b[j])
{
if(a[j]<b[j])
x=0;
}
printf("%d",x);
if(a[j]==b[j])
{
y=1;
}
printf("%d",y);
}

img

img

img

你题目的解答代码如下:

#include <stdio.h>
int main()
{
    int a[5], b[5], i, j, x, y;
    printf("输入数组a的元素:\n");
    for (i = 0; i < 5; i++)
        scanf("%d", &a[i]);
    printf("输入数组b的元素:\n");
    for (i = 0; i < 5; i++)
        scanf("%d", &b[i]);
    y = 1;
    for (j = 0; j < 5; j++)
    {
        if (a[j] != b[j])
            y = 0;
    }
    printf("%d", y);
}

如有帮助,望采纳!谢谢!

如果a和b中元素的顺序可以不一样的话,先对数组排序,然后逐个元素对比就是了,只要有不等的就返回0,全部相等就返回1
如果要求a和b中的元素的顺序完全一致的话,就不用排序,直接用for循环逐个对比就可以了。
代码修改如下:

#include <stdio.h>
int comp(int a[],int b[],int n)
{
    int i,j,t;
    //a排序
    for (i=0;i<n-1;i++)
    {
        for (j=0;j<n-1-i;j++)
        {
            if(a[j]>a[j+1])
            {
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
        }
    }
    //b排序
    for (i=0;i<n-1;i++)
    {
        for (j=0;j<n-1-i;j++)
        {
            if(b[j]>b[j+1])
            {
                t = b[j];
                b[j] = b[j+1];
                b[j+1] = t;
            }
        }
    }
    //判断是否相等
    for(i=0;i<n;i++)
    {
        if(a[i] != b[i])
            return 0;
    }
    return 1;
}

int main()
{
    int a[5],b[5],i,y;
    printf("输入数组a的元素:\n");
    for(i=0;i<5;i++)
        scanf("%d",&a[i]);
    printf("输入数组b的元素:\n");
    for(i=0;i<5;i++)
        scanf("%d",&b[i]);
    y = comp(a,b,5);
    printf("%d",y);
    return 0;
}


#include<stdio.h>

int compare(int* a, int *b){
    int i,j;
    int flag;
    for(i=0;i<5;i++){
        flag = 1;
        for(j = 0;j<5;j++){
            if (a[i] == b[j])
            {
                flag = 0;
            }
        }

        if (flag == 1)
        {
            return 0;
        }
    }

    return 1;
}
int main()
{
    int a[5],b[5],i;
    printf("输入数组a的元素:\n");
    for(i=0;i<5;i++)
        scanf("%d",&a[i]);
    printf("输入数组b的元素:\n");
    for(i=0;i<5;i++)
        scanf("%d",&b[i]);

    int ret = compare(a,b);

    printf("两个数组中的元素%s\n", ret == 1 ? "相同":"不相同");

    return 0;
    
}

img