我们不好直接比较二维数组中任意多个元素的值是否相等,我们可以创建一维数组,首先将一维数组的值全部设为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;
}