题目:点击打开链接

这里比较麻烦的是,对于64位整数的输入输出在不同的编译器要用不同的方式。

总之gcc 用lld就通过了测试。

/******************************************************************************/
/*                                                                            */
/*  DON'T MODIFY main() function anyway!                                      */
/*                                                                            */
/******************************************************************************/#include <stdio.h>
#include <stdlib.h>struct data{long long int digitalValue;int countNum1;
};void init(){}
void solve(); /* write function solve() to process one case of the problem    */int main()
{  int i,t; init();scanf("%d\n",&t);for (i=0;i<t;i++){ printf("case #%d:\n",i);solve();}return 0;
}//输入数据
//计算每个整数按照64位二进制补码表示中1的位数
//编写比较函数
//调用qsort函数进行排序
//输出int cmp(const void *a, const void *b){struct data x;struct data y;x = *((struct data *)a);y = *((struct data *)b);if(y.countNum1 != x.countNum1)return y.countNum1 - x.countNum1;else {if(x.digitalValue > y.digitalValue) return 1;else return -1;}
}void solve(){long long int d;int count;int n;struct data record[100000];int i,k;scanf("%d",&n);for(k=0;k < n;k++){scanf("%lld",&(record[k].digitalValue));d = 1;record[k].countNum1=0;for(i = 0;i<64;i++){if( d & record[k].digitalValue) record[k].countNum1++;d = d<<1;}}qsort(record,n,sizeof(record[0]),cmp);for(i = 0; i < n-1;i++){printf("%lld ",record[i].digitalValue);}printf("%lld\n",record[i].digitalValue);
}

华师大 OJ 3036相关推荐

  1. 华师大 OJ 2822

    题目链接:点击打开链接 这个OJ平台很傻,输出的时候,在一行的末尾少输出一个空格都可能会出错的. 代码 #include <stdio.h> #include <stdlib.h&g ...

  2. 华师大 OJ 3040

    题目描述:点击打开链接 这道题目还是一样的方法.使用分布的思想方法就可以了. 代码: #include <stdio.h> #include <stdlib.h> #inclu ...

  3. 华师大 OJ 3053

    题目链接:点击打开链接 这里要注意的是 1. long long 类型应该怎么输出 2. 题目的意思要准确地理解,有可能会出现11111111,这种边界情况,这个时候,这是要按照2进制来做的.所以要另 ...

  4. 华师大 OJ 3055

    题目描述:点击打开链接 值得一提的是,对这里的题目描述要理解准确. #include <stdio.h> #include <stdlib.h> #include <st ...

  5. 华师大 OJ 3026

    题目链接:点击打开链接 这个题目做了2个小时.这些代码的确是值得学习借鉴的. 解决方案: #include <string.h> #include <stdio.h>void ...

  6. 华师大 OJ 2897

    题目描述:点击打开链接 值得一提的是:需要把这个用来输出的字符串最后手动补上一个0, tmp[count]='\0'; 解决方法: #include <stdio.h> #include ...

  7. 华师大 OJ 3024

    题目描述:点击打开链接 值得一提的是,抽象数据类型定义好,然后把函数实现好. 解决代码: /****************************************************** ...

  8. 华师大 OJ 2850

    题目描述:点击打开链接 这个是真的简单 解决方案: #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  9. 华师大 OJ 3023

    题目描述:点击打开链接 值得一提的是:这个问题调用了递归的方法来解决问题 另外,一开始的时候,我在cmp_char里面直接使用了return strcmp(*((char*)a),*((char*)b ...

  10. 华师大 OJ 2876

    题目描述:点击打开链接 这里要注意的是大整数进行除法的或者减法的时候,要记得判断当前大整数是不是大于0的. 因为我们这里定义的大整数只是自然数(N>=0) 解决方案: // 14:25--> ...

最新文章

  1. .NET基础示例系列之十六:制做进程监视器
  2. 模版方法模式/Template Method
  3. TradingView 初识
  4. Java ClassLoader
  5. python网络爬虫_python小知识,基于Python 的网络爬虫技术分析
  6. java后端项目怎么实现图片预览_项目经验不重样!3个基于 SpringBoot 的图片识别处理系统送给你!...
  7. ES6新特性_ES6集合介绍与API---JavaScript_ECMAScript_ES6-ES11新特性工作笔记030
  8. python调整屏幕缩放比例_python实现按长宽比缩放图片 python的turtle怎样缩放界面吧...
  9. win10屏蔽自动更新方法
  10. redo mysql mvcc_Mysql事务中的ACID是怎么实现的
  11. u2 接口 服务器硬盘,M.2、U.2谁更好?主流硬盘接口都有哪些?
  12. 如何调整Exadata DB节点文件系统大小
  13. 计算机平均分函数a,平均值计算函数Average、Averagea、AverageIfs、Trimmean
  14. mysql dual表用法_详解Oracle数据库中DUAL表的使用
  15. RocketMQ手动创建Topic
  16. 结合分析和数值技术 Python 在基本力学应用
  17. 去除取消WPS的广告推送、WPS热点以及推荐软件等骚扰功能
  18. Mybatis配置注意事项
  19. DDR3学习总结(二)
  20. 虚化背景(深度映射篇)

热门文章

  1. 数字信号与模拟信号的区别是什么?
  2. java+redis 实现搜索附近人功能
  3. 四分位数(定义、位置、数值)
  4. 一文看懂各种无线信道衰落的特征及分类
  5. 牛客赛47 DongDong认亲戚(并查集+map)
  6. was 部署php,was 配置web服务器
  7. Docker07:打包部署前端项目
  8. PCIe学习(一):PCIe基础及生成PIO例程分析
  9. 郑州轻工业大学2021-2022(1)期末模拟测试二答案
  10. (9)数据分析-相关性分析