1 条题解
-
0
C :
#include <stdio.h> main() { int n, m, i, s=0,a[111][2],b[111][2],t=0,j; scanf("%d%d",&m,&n); for(i=0;i<m;i++) { scanf("%d%d",&a[i][0],&a[i][1]); } for(i=0;i<n;i++) { scanf("%d%d",&b[i][0],&b[i][1]); } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i][0]==b[j][0]) { t++; a[i][0]=-1; continue; } } } printf("%d\n",m-t); for(i=0;i<m;i++) { if(a[i][0]!=-1) printf("%d %d\n",a[i][0],a[i][1]); } return 0; }
C++ :
#include <stdio.h> #include <stdlib.h> struct node { int num, score; struct node * next; }; int main() { struct node *heada, *taila, *headb, *tailb, *pa, *pb, *p; heada = taila = headb = tailb = NULL; int n, m, i; scanf("%d %d", &n, &m); /* 读入a链表中的n个学生信息 */ for (i = 0;i < n;i++) { p = (struct node *)malloc(sizeof(struct node)); scanf("%d %d", &p->num, &p->score); if (heada == NULL) { heada = taila = p; } else { taila->next = p; taila = p; } } taila->next = NULL; /* 读入b链表中的m个学生信息 */ for (i = 0;i < m;i++) { p = (struct node *)malloc(sizeof(struct node)); scanf("%d %d", &p->num, &p->score); if (headb == NULL) { headb = tailb = p; } else { tailb->next = p; tailb = p; } } tailb->next = NULL; /* 遍历a链表的每一个节点,判断b链表中是否有相同学号的节点 */ pa = p = heada; while (pa != NULL) { pb = headb; while (pb != NULL) { if (pa->num == pb->num) break; pb = pb->next; } /* b链表中有相同学号的节点,需要删除pa指向的节点 */ if (pb != NULL) { if (pa == heada) { heada = pa->next; free(pa); pa = p = heada; } else { p->next = pa->next; free(pa); pa = p->next; } n--; } else { /* b链表中没有相同学号的节点,直接处理下一个节点 */ p = pa; pa = pa->next; } } /* 将合并后的链表进行输出 */ printf("%d\n", n); p = heada; while (p != NULL) { printf("%d %d\n", p->num, p->score); p = p->next; } return 0; }
Java :
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main{ private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { int a = s.nextInt() ; int b = s.nextInt() ; if(a>=0&&a<=100&&b>=0&&b<=100){ List<Student> A = new ArrayList<Student>() ; List<Student> temp = new ArrayList<Student>() ; List<Student> B = new ArrayList<Student>() ; for (int i = 0; i < a; i++) { Student stu = new Student() ; int n = s.nextInt() ; int m = s.nextInt() ; stu.num = n ; stu.score = m ; A.add(stu) ; } for (int i = 0; i < b; i++) { Student stu = new Student() ; int n = s.nextInt() ; int m = s.nextInt() ; stu.num = n ; stu.score = m ; B.add(stu) ; } for (Student student : A) { temp.add(student) ; } for (Student student : temp) { for (Student student2 : B) { if(student2.num==student.num){ A.remove(student) ; } } } System.out.println(A.size()); for (Student student : A) { System.out.println(student.num+" "+student.score); } } }} class Student{ int num ; int score ; }
- 1
信息
- ID
- 1389
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者