我们不好直接比较二维数组中任意多个元素的值是否相等,我们可以创建一维数组,首先将一维数组的值全部设为0,一维数组的下标代表你喜欢课程的量,一维数组的各个元素的值代表你喜欢的次数
例如 你输入3 5,代表你喜欢第三第五这两个课程arr[3]==5代表有五个同学都喜欢3这个课程
arr[6]==2则代表只有两个同学喜欢这个课程,下面附上代码
#include<stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);//n个学生,m个课程
int arr[1000]={0};
int a,s,count;
a=0;
s=0;
count=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&a);
for(int j=1;j<=a;j++)//每一行输入喜欢的课程,经过此循环,喜欢的课程数量不同,数组中的值也就不同
{
scanf("%d",&s);
arr[s]++;
}
}
for(int k=1;k<=m;k++)//判断喜欢课程人数是否等于所有人,如果等于,那么这个课程所有人都喜欢
{
if(arr[k]==n)
count++;
}
printf("%d\n",count);
return 0;
}