杭电oj2000-2011
2000 ASCII码排序
#include <stdio.h>
int main(){
char a,b,c,t;
while(scanf("%c%c%c", &a, &b, &c)!=EOF){
getchar();#必须得加这玩意
if(a>b){
t = a;
a = b;
b = t;
}
if(a>c){
t = a;
a = c;
c = t;
}
if(b>c){
t = b;
b = c;
c = t;
}
printf("%c %c %c\n", a,b,c);
}
}
一开始没有添加getchar()函数引发错误,后来查看大佬的wp知道了原因这里引用大佬的解释:
第一次没有加getchar()函数,结果不正确,运行时,第一次输入三个字符排序正确,可是后面再输入时输出就会错误。通过查看别人类似问题的分析,知道了其中缘由。从键盘输入的字符,会存放到缓冲区中,包括回车符。如输入“abc回车”之后,缓冲区中存了有四个字符'a'、'b'、'c'、'\n',如果上面程序中没有getchar(),则第一次从缓冲区中提取了三个字符之后,还剩下了一个'\n',则下次再输入三个字符时,缓冲区中会把上次剩下的回车符也算进去,这样处理起来就会有问题。getchar()是从缓冲区中读取一个字符,如果只是去除缓冲区中的字符,不需要用赋值表达式,直接使用getchar();即可,当然,使用赋值表达式也可以,如:m=getchar();。上面程序中使用了getchar()之后,就可以把每次输入三个字符之后的回车符吸收掉,这样结果就正确了。
2001 计算两点间的距离
#include <stdio.h>
#include <math.h>
int main(){
double x1,y1,x2,y2,d;
while(scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2)!=EOF){
d= sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
printf("%.2lf\n", d); }
}
2002 计算球体积
#include <stdio.h>
#define PI 3.1415927 int main(){
double x, v;
while(scanf("%lf", &x)!=EOF){
v = *PI*x*x*x/;
printf("%.3lf\n", v);
}
}
2003 求绝对值
#include <stdio.h>
int main(){
double x,y;
while(scanf("%lf", &x)!=EOF){
y = x;
if(y<){
y = -x;
}
printf("%.2lf\n", y);
}
}
2004 求绝对值
#include <stdio.h>
int main(){
int x;
while(scanf("%d", &x)!=EOF){
if(x< || x>){
printf("Score is error!\n");
}
if(x>= && x<){
printf("E\n");
}
if(x>= && x<){
printf("D\n");
}
if(x>= && x<){
printf("C\n");
}
if(x>= && x<){
printf("B\n");
}
if(x>= && x<=){
printf("A\n");
}
}
}
2005 第几天?
#include <stdio.h>
int main(){
int a,b,c,i,days;
int mon[] = {,,,,,,,,,,,};
while(scanf("%d/%d/%d", &a,&b,&c)!=EOF){
if((a%== && a% !=) || (a% == )){
days = ;
mon[] = ;
for(i=; i<b-; i++){
days += mon[i];
}
days += c;
printf("%d\n", days);
}else{
days = ;
mon[] = ;
for(i=; i<b-; i++){
days += mon[i];
}
days += c;
printf("%d\n", days);
}
} }
2006 求奇数的乘积
#include <stdio.h>
int main(){
int n, i ,mul;
while((scanf("%d", &n))!=EOF){
mul = ;
while(n--){
scanf("%d", &i);
if(i%!=){
mul = mul*i;
}
}
printf("%d\n", mul);
} }
2007 平方和与立方和
这玩意首先要判断输入两个数的大小,不然就是错的
#include <stdio.h>
int main(){
int n,m,squ,cub,i;
while((scanf("%d %d", &n,&m))!=EOF){
squ=;
cub=;
if(n<m){
for(i=n;i<=m;i++){
if(i%==){
squ += i*i;
}else{
cub += i*i*i;
}
}
printf("%d %d\n",squ,cub);
}else{
for(i=m;i<=n;i++){
if(i%==){
squ += i*i;
}else{
cub += i*i*i;
}
}
printf("%d %d\n",squ,cub);
} } }
2008 数值统计
#include <stdio.h>
int main(){
int n,x,y,z;
double i;
while((scanf("%d", &n))!=EOF){
if(n==){
continue;
}else{
x=;
y=;
z=;
while(n--){
scanf("%lf", &i);
if(i<){
x += ;
}else if(i==){
y += ;
}else if(i>){
z += ;
}
} }
printf("%d %d %d\n", x,y,z);
}
return ;
}
2009 求数列的和
#include <stdio.h>
#include <math.h>
int main(){
int m;
double i,sum,n;
while(scanf("%lf %d", &n,&m)!=EOF){
sum = ;
while(m--){
sum += n;
n = sqrt(n); }
printf("%.2lf\n", sum);
}
}
2010 水仙花数
最后输出的时候最后不允许有空格,因此第一个数的输出与后面数的输出不一样。
#include <stdio.h>
int main(){
int m,n,a,b,c,i,flag;
while(scanf("%d %d",&m,&n)!=EOF){
flag = ;
for(i=m;i<=n;i++){
a=i/;
b=i%/;
c=i%;
if(i==a*a*a+b*b*b+c*c*c){
flag += ;
if(flag==){
printf("%d",i);
}else{
printf(" %d",i);
}
}
}
if(flag==){
printf("no");
}
printf("\n");
}
}
2011 多项式求和
#include <stdio.h>
int main(){
int n,i;
double a,sum,j;
scanf("%d", &n);
while(n--){
sum = ;
scanf("%lf",&a);
for(i=;i<=a;i++){
if(i%==){
j = i;
sum -= /j;
}else{
j = i;
sum += /j;
}
}
printf("%.2lf\n", sum);
}
}
杭电oj2000-2011的更多相关文章
- 杭电acm阶段之理工大版
想參加全国软件设计大赛C/C++语言组的同学,假设前一篇<C和指针课后练习题总结>没看完的,请先看完而且依照上面的训练做完,然后做以下的训练. 传送门:http://blog.csdn.n ...
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 杭电acm习题分类
专注于C语言编程 C Programming Practice Problems (Programming Challenges) 杭电ACM题目分类 基础题:1000.1001.1004.1005. ...
- acm入门 杭电1001题 有关溢出的考虑
最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...
- 杭电acm 1002 大数模板(一)
从杭电第一题开始A,发现做到1002就不会了,经过几天时间终于A出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...
- 杭电OJ——1198 Farm Irrigation (并查集)
畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可 ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”
按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...
- C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~
暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...
- 杭电ACM2076--夹角有多大(题目已修改,注意读题)
杭电ACM2076--夹角有多大(题目已修改,注意读题) http://acm.hdu.edu.cn/showproblem.php?pid=2076 思路很简单.直接贴代码.过程分析有点耗时间. / ...
随机推荐
- Dapper.Extension的基本使用
前言 上一篇随笔写了Dapper的简单的使用,这次写一下Dapper.Extension的使用,它是Dapper的简单的封装扩展,可以通过实例化的对象赋值后进行增删改的操作以及分页,但是却不能进 ...
- Hibernate---开发环境搭建
下载安装Hibernate 在官网http://hibernate.org/tools/上下载eclipse安装插件的文件/安装插件的地址.点击download选择JBoss Tools,选择Arti ...
- CodeForces 522D Closest Equals 树状数组
题意: 给出一个序列\(A\),有若干询问. 每次询问某个区间中值相等且距离最短的两个数,输出该距离,没有则输出-1. 分析: 令\(pre_i = max\{j| A_j = A_i, j < ...
- sql server inser相关处理(添加一条,一次添加多条,Bulk插入多条)
1,insert语句 insert into 表一(字段一,字段二,字段三) value(值一,值二,值三) 2,sql 插入多条语句,其中完整值之间用逗号分割 insert into 表一(字段一, ...
- python开发记录第一篇
1. 安装pyCharm,下载地址https://www.jetbrains.com/pycharm/ 2. 注册license,修改windwos系统hosts,文件路径为:C:\Windows\S ...
- imageX.exe
imageX 编辑ImageX 是一个命令行工具,原始设备制造商 (OEM) 和公司可以使用它来捕获.修改和应用基于文件的磁盘映像以进行快速部署.ImageX 可以使用 Windows 映像 (.wi ...
- 什么是App加壳,以及App加壳的利与弊
非著名程序员涩郎 非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿 ...
- 《Cracking the Coding Interview》——第13章:C和C++——题目2
2014-04-25 19:29 题目:对比一下哈希表和STL中的map的区别,哈希表如何实现?如果数据规模比较小,可以用什么来代替哈希表? 解法:哈希表可以理解为一堆桶,每个桶都有唯一的id,桶里可 ...
- 能加载文件或程序集 HRESULT:0x80070057 (E_INVALIDARG)的异常的解决方案
今天下午由于机器蓝屏后,导致我的VS不能够调试我的网站了. 症状就是 : VS无法调试,但是可以编译和发布.而且只是 我在调试时蓝屏的那个项目 不能调试. 出现的错误就是: 能加载文件或程序集“Eny ...
- winform对图片进行灰度处理
//图片进行灰度处理 //originalImage为原图像 返回灰度图像 private Bitmap GrayImage(Bitmap originalImage) { ImageAttribut ...