华师大 OJ 3036
题目:点击打开链接
这里比较麻烦的是,对于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相关推荐
- 华师大 OJ 2822
题目链接:点击打开链接 这个OJ平台很傻,输出的时候,在一行的末尾少输出一个空格都可能会出错的. 代码 #include <stdio.h> #include <stdlib.h&g ...
- 华师大 OJ 3040
题目描述:点击打开链接 这道题目还是一样的方法.使用分布的思想方法就可以了. 代码: #include <stdio.h> #include <stdlib.h> #inclu ...
- 华师大 OJ 3053
题目链接:点击打开链接 这里要注意的是 1. long long 类型应该怎么输出 2. 题目的意思要准确地理解,有可能会出现11111111,这种边界情况,这个时候,这是要按照2进制来做的.所以要另 ...
- 华师大 OJ 3055
题目描述:点击打开链接 值得一提的是,对这里的题目描述要理解准确. #include <stdio.h> #include <stdlib.h> #include <st ...
- 华师大 OJ 3026
题目链接:点击打开链接 这个题目做了2个小时.这些代码的确是值得学习借鉴的. 解决方案: #include <string.h> #include <stdio.h>void ...
- 华师大 OJ 2897
题目描述:点击打开链接 值得一提的是:需要把这个用来输出的字符串最后手动补上一个0, tmp[count]='\0'; 解决方法: #include <stdio.h> #include ...
- 华师大 OJ 3024
题目描述:点击打开链接 值得一提的是,抽象数据类型定义好,然后把函数实现好. 解决代码: /****************************************************** ...
- 华师大 OJ 2850
题目描述:点击打开链接 这个是真的简单 解决方案: #include <stdio.h> #include <stdlib.h> #include <string.h&g ...
- 华师大 OJ 3023
题目描述:点击打开链接 值得一提的是:这个问题调用了递归的方法来解决问题 另外,一开始的时候,我在cmp_char里面直接使用了return strcmp(*((char*)a),*((char*)b ...
- 华师大 OJ 2876
题目描述:点击打开链接 这里要注意的是大整数进行除法的或者减法的时候,要记得判断当前大整数是不是大于0的. 因为我们这里定义的大整数只是自然数(N>=0) 解决方案: // 14:25--> ...
最新文章
- .NET基础示例系列之十六:制做进程监视器
- 模版方法模式/Template Method
- TradingView 初识
- Java ClassLoader
- python网络爬虫_python小知识,基于Python 的网络爬虫技术分析
- java后端项目怎么实现图片预览_项目经验不重样!3个基于 SpringBoot 的图片识别处理系统送给你!...
- ES6新特性_ES6集合介绍与API---JavaScript_ECMAScript_ES6-ES11新特性工作笔记030
- python调整屏幕缩放比例_python实现按长宽比缩放图片 python的turtle怎样缩放界面吧...
- win10屏蔽自动更新方法
- redo mysql mvcc_Mysql事务中的ACID是怎么实现的
- u2 接口 服务器硬盘,M.2、U.2谁更好?主流硬盘接口都有哪些?
- 如何调整Exadata DB节点文件系统大小
- 计算机平均分函数a,平均值计算函数Average、Averagea、AverageIfs、Trimmean
- mysql dual表用法_详解Oracle数据库中DUAL表的使用
- RocketMQ手动创建Topic
- 结合分析和数值技术 Python 在基本力学应用
- 去除取消WPS的广告推送、WPS热点以及推荐软件等骚扰功能
- Mybatis配置注意事项
- DDR3学习总结(二)
- 虚化背景(深度映射篇)