解题思路:利用数组来进行求解
注意事项:
参考代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,i,j,a[1000],b[1000],c[1000],d[1000];
//a[1000]与b[1000]用来储存输入的值,即a[1000]储存学号,b[1000]储存成绩;
int t=0;
//t用来计算节点数;
scanf("%d%d",&m,&n);
//输入m和n的值;
getchar();
for(i=0;i<m+n;i++)
{
scanf("%d%d",&a[i],&b[i]);
//输入学生学号和成绩;
if(i<m+n-1)
{
getchar();
}
}
for(i=0;i<m;i++)
{
c[t]=a[i];
d[t]=b[i];
t++;
//t的值赋予0,先假设a链的每个学号在b种都没有重复
for(j=m;j<m+n;j++)
//j要从m开始,即从b链开始;
{
if(a[i]==a[j])
{
t--;
}
//如果b链中出现与a链相同的学号,t--,说明此时的假设不成立
}
}
printf("%d\n",t);
for(i=0;i<t;i++)
{
printf("%d %d\n",c[i],d[i]);
}
//最后打印
return 0;
}
0.0分
1 人评分