没有软件能实现自己要求的功能?看看程序员怎么做~

前言

我的新博客刚刚注册,阅读量不大,阅读量的增幅可以很好的反应我的新博客的发展速度,于是我常把每一篇博文的阅读量累加起来(心算),但是,一天我突然蛋疼的醒悟了——每秒能进行数十亿次运算的计算机在一个程序员面前,而这个蒟蒻程序员(我)竟然在用他那半生锈心算加法?!!固然可以用计算机自带的计算器,一个一个的输入数据,大约一分钟就能输入完毕,并立刻计算完毕,但是——作为一个程序员竟然还要手动输入数据?!对于只会使用电脑的人来说,这个麻烦是无论如何省不了的,但对于我来说,不过就是自己开发一个小程序的事儿(实际上足足用了本蒟蒻半个小时),于是我打算自己设计一个程序,可以帮我计算总阅读量。

Code1.0

编译后的.exe文件的同一目录下创建一个名为“拱大垲专用运算软件输入”的文本文件,将数字放入文本文件中,务必用时间去除所有的非数字符号,然后在运行.exe文件,运算结果就直接显示到桌面上了。

#include<iostream>
using namespace std;
int ans,x;
int main()
{
    while(cin>>x)
    {
        ans+=x;
    }
    cout<<ans;
    return 0;     
}

预计时间:O=Ctrl+c&Ctrl+v&处理输入=2分钟

Code2.0

 我表示1.0版本这与直接在windows自带的计算器上一个一个输入数据有何区别?!那这个软件有何必要存在?!于是,2.0版本来了,此版本直接将整个阅读量榜全部复制下来(Ctrl+c万岁),然后直接放到输入文本文件中即可(Ctrl+v万岁),计算机自动处理所有输入,预计需要时间O=Ctrl+c&Ctrl+v=5秒。

#include <cstdio>
#include <stack>
using namespace std;

stack<int> s;//由于数据是从前往后读取的,需要一个调转数据处理方向的栈 
int ans,x,n,b;

int main()
{
    freopen("拱大垲专用运算软件输入.txt","r",stdin); 
    
    while(scanf("%c",&x)==1)
    {
        if(x==')')
        {
            while(!s.empty())//依次处理并弹出栈内数据 
            {
                ans+=(s.top()-48)*n;
                n*=10;
                s.pop();
            }
            b=0;
        }    
        if(b==1)//压栈 
            s.push(x);
        if(x=='(')
            n=b=1;
    }
    printf("%d\n",ans);
    
    while(1);//暴力法暂停运行,不喜欢的话可以换用getchar() 
     return 0;
}

后记

这就是程序员和普通人的差别,区别就在于普通人是动物园中等待被喂食的猴子,没有对食物的选择权,有什么就得凑合着用什么,而程序员则是给猴子喂食的人,想吃什么都可以自己做QAQ。

猜你喜欢

转载自www.cnblogs.com/gongdakai/p/10846841.html