【HDOJ】【Volume11】【2003】

昨天开始刷HDOJ的,咱是一菜鸟。。。但是对ACM比较感兴趣。。就把做题时候的收获和感想写下来吧。

【HDOJ】的2003题很水的。。题目是介样的。。。。。。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

求绝对值:

Problem Description
求实数的绝对值。

Input
输入数据有多组,每组占一行,每行包含一个实数。

Output
对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。

Sample Input
  
  
123 -234.00

Sample Output
  
  
123.00 234.00
嗯嗯。。下面是我的代码。。。。。。。

#include<stdio.h>
int main()
{
	double num;
	while (scanf("%f", &num) != EOF)
	{
		if(num<0)
		{
			num*=-1;
		}
		printf("%.2f",num);
	}
	return 0;
}

写完后感觉良好。。。在VC 6.0上运行了一下。。结果如图:

没想到发生介个错误。。然后我很弱地设置了一个断点。。

然后我淡定地点了debug。。。。


发现呃。。这是什么情况。。。

好吧。。然后我淡定地查错。。查了十几分钟。。没发现。。。叫上旁边DOTA的室友。。。他来看了几眼。。总结一句。。貌似没有问题。。

好吧。。既然此物非我等男生可查之。。。去找度娘吧。。好家伙。。搜到了参考答案。。。嗯,参考的答案哦。。

#include <math.h>
#include <stdio.h>

int main(void)
{
    double r;

    while (scanf("%lf", &r) != EOF)
        printf("%.2lf\n", fabs(r));

    return 0;
}

我乍一看。。哎呀,多了一个l的东西。。嗯,这个是1还是l呢,好吧,我又把薄弱的C基础再次显露出来了。。

嗯,还是度娘比较牛。把那个神物放到度娘搜索栏里立刻就出现了结果。

没错。。是l。字母l,不是1。嗯。。。我继续看。。貌似跟我的烂代码相比。。scanf的取值的是lf,而我的是f。好的,再次想到度娘。

度娘很神,出现了结果~~%lf匹配 double.        %f匹配float

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~继续分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

好的。。总结一下,

病根:C基本功相当弱。。

良药:多AC题目。。

计划:继续刷HDOJ的Volume11题目。

展望:相信光辉的未来属于我们。。。

谢谢。阿门~~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值