1 条题解

  • 0
    @ 2025-4-7 21:28:48

    C :

    #include <stdio.h>
    typedef struct student{
    	int id;
    	char name[20];
    	char sex[2];
    	int age;
    	int flag;
    }student;
    int main(){
    	int n,i,tmp,cnt;
    	student st[100];
    //	freopen("1.txt","r",stdin);
    	while (scanf("%d",&n)==1)
    	{
    		for (i=0;i<n;i++)
    		{
    			scanf("%d %s %s %d",&(st[i].id),st[i].name,st[i].sex,&(st[i].age));
    			st[i].flag=1;
    		}
    		scanf("%d",&tmp);
    		cnt=n;
    		for (i=0;i<n;i++)
    		{
    			if (st[i].age==tmp)
    			{
    				st[i].flag=0;
    				cnt--;
    			}
    		}
    		printf("%d\n",cnt);
    		for (i=0;i<n;i++)
    		{
    			if (st[i].flag)
    			{
    				printf("%d %s %s %d\n",st[i].id,st[i].name,st[i].sex,st[i].age);
    			}
    		}
    	}
    //	fclose(stdin);
    	return 0;
    }
    

    C++ :

    #include <stdio.h>
    #include <stdlib.h>
    struct node {
    	int num;
    	char name[21], sex;
    	int age;
    	struct node * next;
    };
    int main() {
    	struct node *head, *tail, *p, *pa;
    	int n, i, del_age;
    	scanf("%d", &n);
    	/* 读入链表中的n个人的信息 */
    	head = tail = NULL;
    	for (i = 0;i < n;i++) {
    		p = (struct node *)malloc(sizeof(struct node));
    		scanf("%d %s %c %d", &p->num, p->name, &p->sex, &p->age);
    		if (head == NULL) {
    			head = tail = p;
    		} else {
    			tail->next = p;
    			tail = p;
    		}
    	}
    	tail->next = NULL;
    	scanf("%d", &del_age);
    	/* 遍历链表的每一个节点,判断节点的年龄是否与要删除的相等 */
    	pa = p = head;
    	while (pa != NULL) {
    		if (pa->age == del_age) {
    			if (pa == head) {
    				head = pa->next;
    				free(pa);
    				pa = p = head;
    			} else {
    				p->next = pa->next;
    				free(pa);
    				pa = p->next;
    			}
    			n--;
    		} else {
    			p = pa;
    			pa = pa->next;
    		}
    	}
    	/* 将处理后的链表进行输出 */
    	printf("%d\n", n);
    	p = head;
    	while (p != NULL) {
    		printf("%d %s %c %d\n", p->num, p->name, p->sex, p->age);
    		p = p->next;
    	}
    	return 0;
    }
    
    

    Java :

    
    
    import java.util.LinkedList;
    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 n = s.nextInt() ;
    	  List<Student> list = new LinkedList<Student>() ;
    	  List<Student> temp = new LinkedList<Student>() ;
    	  if (n<=100) {
    		  for (int i = 0; i < n; i++) {
    			 int num = s.nextInt() ;
    			 String name = s.next() ;
    			 String sex = s.next() ;
    			 int age = s.nextInt() ;
    			 Student s = new Student(num, name, sex, age) ;
    			 list.add(s) ;
    		  }
    		  int a = s.nextInt() ;
    		  for (Student student : list) {
    			 temp.add(student) ;
    		  }
    		  for (Student stu : temp) {
    			 if(stu.age==a){
    				 list.remove(stu) ;
    			 }
    		  }
    		  System.out.println(list.size());
    		  for (Student student : list) {
    			  System.out.println(student.num+" "+student.name+" "+student.sex+" "+student.age); 
    		  }
    	  }
       }
    }
    
    class Student{
    	int num ;
    	String name ;
    	String sex ;
    	int age ;
    	public Student(int num, String name, String sex, int age) {
    		this.num = num;
    		this.name = name;
    		this.sex = sex;
    		this.age = age;
    	}
    	
    }
    
    • 1

    信息

    ID
    1390
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者