/*比较麻烦。希望大家指正*/
#include <stdio.h>
#include <conio.h>
#define M 4
#define N 3
#define L 5
void main()
{
int i,j,count=0,k;
int a[M][N],b[L];
printf("please input a[M][N]\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
fflush(stdin); /*虽然有人对此有异议,但不加b[L]无法正常输入*/
printf("please input b[L]:\n"); /*已测试(XP,win-tc)*/
for(k=0;k<L;k++)
{
scanf("%d",&b[k]); /*此处输入要输入一次按一次回车,不可连续输入*/
count++;
j=(count%N)-1;
i=(count-j-1)/N;
if(b[k]==a[i][j])
{
k--;
count--;
printf("input the last one again:\n");
}
}
for(i=0;i<M;i++)
{
count=0;
for(j=0;j<N;j++)
for(k=0;k<L;k++)
if(a[i][j]==b[k])
{
count++;
break;
}
if(count!=N)
{
for(j=0;j<N;j++)
printf("%3d",a[i][j]);
printf("\n");
}
else
for(j=0;j<N;j++)
printf("%3d\n",a[i][j]);
}
getch();
}
楼主举例有问题,三行四列是那么赋值吗?你那是四行三列
是很复杂,好像没有问题,高手