zoukankan      html  css  js  c++  java
  • 题目1014:排名-----------------------此题是一个坑----------------------------------结构体还是用纯c语言不要夹杂c++

    此题的思路简单,从上到下进行模拟,该定义的定义,该输入的输入,该输出的输出;

    最重要的是,该用结构体的一定要用结构体!!!!!!!

    此题的坑在于,我用c++写的代码怎么都是WA,但是我只是简单的把输入输出换成c语言printf和scanf,就AC掉,,,,,,无天理

     #include<stdio.h>
     
    #include<string.h>
    #include<algorithm>
    using namespace std;
    
    struct student
    {
    	char num[100];
    	int sum_s;
    };
    int cmp(const void *a,const void *b)
    {
    	student at=*(student*)a;
    	student bt=*(student*)b;
    	if (bt.sum_s==at.sum_s)
    	return strcmp(at.num,bt.num);
    	//return at.num.compare(bt.num);	 
    	else return bt.sum_s-at.sum_s;
    }
    int queue[6];
    int main()
    {
    	student stu[1000];
        int N,M,G; 
    	 
        while(scanf("%d",&N)!=EOF)
    	 {
    	    if(N==0) break;
    		else 
    		{
    		scanf("%d %d",&M,&G);	
    		int s_count; 	
    		int i=0,j=0;
    		for (i=1;i<=M;i++)
    		  scanf("%d",&queue[i]);
    		for (i=0;i<N;i++)
    		{
    			scanf("%s %d",&stu[i].num,&s_count);
    			int tem_sum=0;
    			int tem;
    			stu[i].sum_s=0;
    			for (j=0;j<s_count;j++)
    			{
    			   scanf("%d",&tem);
    			   tem_sum+=queue[tem];	
    			}
    			stu[i].sum_s=tem_sum;
    		}
    		qsort(stu,N,sizeof(student),cmp);
    		int count=0;
    		for (i=0;i<N;i++)
    		{
    			if (stu[i].sum_s>=G)
    				count++; 	
    		}
    		 printf("%d
    ",count); 	
    		 for (i=0;i<N;i++) 
    		 		if (stu[i].sum_s>=G) 
    			printf("%s %d
    ",&stu[i].num,stu[i].sum_s);  
    	 	}  
    	}
    	return 0;	
    } 
    

      

  • 相关阅读:
    【转载】利用一个堆溢出漏洞实现 VMware 虚拟机逃逸
    metasploit(MSF)终端命令大全
    Linux怎么开启ssh
    Day5_模块与包(import)(form......import....)
    Day5_递归_二分法
    Day5_协程函数_面向过程
    Day4_生成器_三元表达式_列表解析_生成器表达式
    Day4_迭代器
    openssh升级的坑爹之路
    Day4_装饰器
  • 原文地址:https://www.cnblogs.com/jianrenguo/p/6445388.html
Copyright © 2011-2022 走看看