acmer之路(1)三月第三周日志

前一段时间疯狂的学python,也逐渐认识到了python在某些方面的局限性以及写python在某些方面对自身锻炼不足。于是重新拾起大一曾经参加过的acm,准备用C好好加强自己造轮子的能力。

大学四年中,第一年就学了C,当时觉得C语言是世界上最好的语言,用C实现了不少小功能。四年多过去,期间用过C++处理图像,用jsp写过后端,用Java写过小游戏,后来又用python爬虫,数据分析等等。

回过头来看看,还是觉得C最能锻炼一个人的思维能力,算法实现能力。去杭电OJ注册了一个号,从第一题开始写起,没想到第一题就浪费了很长时间。因此想着写下刷题日志,一方面激励自己,一方面也是和大家一起交流,共同进步。

我会每周写一次这方面的感悟,并把这一周所刷的题的答案公布出来,有共同志趣的朋友,可以一起研究,研究如何用最小的成本实现最美的程序。

三月第三周.png

上周六刚刚开始写,比较生疏,结果一个周末就做出了六题,还是比较水的六题,算是一个开始,也算是对acm的致敬吧。

ID 1000

#include <stdio.h>  
int main(void)
{
    int a, b;
    while (scanf("%d%d", &a, &b) != EOF)
        printf("%d\n", a + b);
    return 0;
}

这题很简单,但是骚就骚在它题目要求了,要end of file。因此用scanf输入时后面必须有个是否等于EOF的判断。

ID 1001

#include <stdio.h>
int main()
{
    int n, sum, i;
    while (scanf("%d", &n) != EOF)
    {
        sum = 0;
        for (i = 0; i <= n; i++)
        {
            sum += i;
        }
        printf("%d\n\n", sum);
    }
    return 0;
}

ID 2000

#include <stdio.h>  
int main()
{
    char a, b, c, temp;
    while (scanf("%c%c%c", &a, &b, &c) != EOF)
    {
        getchar();//不加getchar()函数不正确  
        if (a > b)
        {
            temp = a;
            a = b;
            b = temp;
        }
        if (c <= a)
        {
            temp = c;
            c = b;
            b = temp;
            temp = b;
            b = a;
            a = temp;
        }
        else if (c > a && c < b)
        {
            temp = c;
            c = b;
            b = temp;
        }
        printf("%c %c %c\n", a, b, c);
    }
    return 0;
}

这一题,前面必须加上getchar()以此来消化输入三个字符后打出的很容易忽略的空格。

ID 2001

#include <stdio.h>  
#include<math.h>
int main()
{
    double a, b, c, d;
    double e;
    while (scanf("%lf %lf %lf %lf", &a, &b, &c, &d) != EOF)
    {
        e = sqrt((c - a)*(c - a) + (d - b)*(d - b));
        printf("%.2lf\n", e);
    }
    return 0;
}

ID 2002

#define PI 3.1415927
#include <stdio.h>  
int main()
{    
    double r;
    double V;
    while (scanf("%lf", &r) != EOF)
    {
        V = (4.0/3.0) * PI * r * r * r;
        printf("%.3lf\n", V);
    }
    return 0;
}

这一题要注意,如用4/3得到的是1,因为系统默认3、4都是整型数字。

ID 2003

#include<stdio.h>

int main()
{
    double num;
    while (scanf("%lf", &num) != EOF)
    {
        if (num >= 0)
            printf("%.2lf\n", num);
        else
            printf("%.2lf\n", -num);
    }
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序人生 阅读快乐

高性能MySQL第2版中文版.施瓦茨.扫描版.pdf

本书荣获2009年Jolt图书大奖,是不可多得的分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开...

953
来自专栏FreeBuf

迷雾重重:XcodeGhost究竟是恶意病毒还是“无害的实验”?

随着XcodeGhost事件的持续发酵,安全圈在这个周末显得尤为热闹,各路消息、分析、猜测甚至“阴谋论”纷至沓来。技术调查、涉事厂商名单、补救措施,甚至对事件始...

1908
来自专栏阮一峰的网络日志

每周分享第 30 期

欢迎投稿,请前往 GitHub 的 ruanyf/weekly 提交 issue。

1132
来自专栏施炯的IoT开发专栏

Windows Mobile用户午餐会纪实

    响应老葛.NET俱乐部的号召,本身也是一个Windows Mobile的使用者和开发者,周六早上起来,赶往这次活动的地点-西扬威胡同。     以前没有...

1998
来自专栏知晓程序

本周最新 10 款小程序,让你假期充电、玩乐两不误 | 晓榜

言归正传,本期,知晓程序精心挑选了 10 款小程序,让你摆脱拖延症,做一个高效的行动派。

751
来自专栏ytkah

响应式js幻灯片代码一枚

  网站搭建经常会用到js幻灯片轮播,放上几张上档次的美图,为你的爱站增添大气元素。经常看到一些js幻灯片代码,但是感觉不是很美观,有的也不支持自适应缩放,也即...

4318
来自专栏专知

【IEEE】如何为技术期刊和会议撰写文章

【导读】作为一名研究员或执业工程师,你深知把自己的工作成果予以发表有多重要。发表成果不仅关系到职业晋升或获得外界认可,也是科研流程中的关键一步。你的发现将会推动...

1224
来自专栏opengps

[置顶] 互联网定位技术小谈

今日小编在此为大家介绍一下互联网中所应用的定位技术。互联网的发展日新月异,技术迭代很快,各行各业的智慧在互联网这片蓝天下碰撞结晶,造福大众。今天要讲述的集中定位...

4866
来自专栏知晓程序

拯救你的「佛系」朋友圈!这 3 个装 X 利器,第一批 90 后都在用

可是,到自己发朋友圈的时候,似乎也只有那几种选择。有没有办法能拯救「朋友圈荒」呢?下面这几款小程序,说不定就能帮到你。

1504
来自专栏程序人生

程序员装B指南

最近在朋友圈里,流行的是某岛国宅男各式装B指南,比如说假装有女友,假装结婚,假装周游列国。对于这些装B指南,程序君是不屑一顾的:真的程序猿(媛),敢于直面没有妹...

3539

扫码关注云+社区

领取腾讯云代金券