萌新一个,想知道为什么错了
查看原帖
萌新一个,想知道为什么错了
850350
xiaoxianshen123楼主2022/11/15 12:00
#include<stdio.h>
#define H 7
#define N 1000
int bidui(int *p,int j[H]);
int main (){
	int n,a[N][H];
	scanf("%d",&n);
	if(n<1||n>33){
		return -1;
	}
	int r[H];
	int i;
	for(i=0;i<H;i++){
		scanf("%d",&r[i]);
		if(n<1||n>33){
		return -1;
	}
	}
	int j[H]={0,0,0,0,0,0,0},x;
	int p1,p2;
	int *pa;
	for(p1=0;p1<n;p1++){
		for(p2=0;p2<H;p2++){
			scanf("%d",&a[p1][p2]);
			if(n<1||n>33){
				return -1;
		}
		pa = &a[p1][0];
		x = bidui(pa,r);
		switch(x){
			case 7 : j[0] = j[0]+1;break;
			case 6 : j[1] = j[1]+1;break;
			case 5 : j[2] = j[2]+1;break;
			case 4 : j[3] = j[3]+1;break;
			case 3 : j[4] = j[4]+1;break;
			case 2 : j[5] = j[5]+1;break;
			case 1 : j[6] = j[6]+1;break;
			default : break;
		}
	}
	}
	int k;
	for(k=0;k<H;k++){
		printf("%d ",j[k]);
	}
	return 0;
}
int bidui(int *p,int j[H])
{
	int n=0,i;
	for(i=0;i<H;i++)
	{
		if(*p == j[i]){
			n = n+1;
		}
		p++;
	}
	return n;
}
2022/11/15 12:00
加载中...