前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >acmer之路(1)三月第三周日志

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

作者头像
用户2145057
发布2018-09-12 15:19:48
3590
发布2018-09-12 15:19:48
举报

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

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

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

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

三月第三周.png

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

ID 1000

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.03.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档