前言
相信不少同学们在前期接触编程时都会为一件事情而发愁,那就是写代码的风格,简称码风,我之前在洛谷上看到过很多题解,码风我都不大满意,所以切水题时需要格式化很长时间的代码,这一篇博客,我们就讲一讲如何优化自已的码风!
多用空格
有一天,QQ上咱们的业余工作室里有个刚刚编程入门的小白突然私信我,问我这道题怎么做,我心想这不就是一道普及组的题目吗?还是20世纪的,看我怎么快速解题!
结果全是WA
咳咳,额,刚才是意外,第二次不就顺利AC了吗?在此处先贴上我的代码:
#include <bits/stdc++.h>
using namespace std;
int a[1000];
int b[1000];
int main() {
int n;
cin >> n;
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
a[1] = 1;
for(int i = 1; i <= n; ++ i) {
int temp=0;
for(int j = 1; j <= 1000; ++ j) {
a[j] = a[j] * i + temp;
temp = a[j] / 10;
a[j] = a[j] % 10;
}
temp = 0;
for(int j = 1; j <= 1000; ++ j) {
b[j] = b[j] + a[j] + temp;
temp = b[j] / 10;
b[j] = b[j] % 10;
}
}
int k;
for(int i = 999; i >= 0; -- i){
if(b[i] != 0) {
k = i;
break;
}
}
for(int i = k; i >= 1; -- i){
cout << b[i];
}
return 0;
}
因为我懒,所以在这里我就不解释这道题目了,就是一道高精度的模版题,没有什么难的
过了很长时间,我都关掉电脑了,那个小白的QQ又冒了个泡,于是我又要打开电脑,意思就是我刚才关电脑关了个寂寞,我****的
他在QQ上说:“老师,你这个代码我改了好长时间啊!”
我:“?我的代码还不能AC?难道复杂度还能优化?”
他:“不是,我的意思是你的代码空格好多啊!”
我:“啊?空格多不是一件好事吗?”
他:“我觉得写代码时打字不用打空格,要是我被怀疑抄题解就完蛋了!而且打空格干什么呢?这不是纯纯的浪费时间吗?”
我:“你等下,我觉得你说的话是一个很好的素材”
于是就有了这篇博客……
他把他的代码给我看了一下,其实我一看就想要破口大骂:“这码风TM的真像依托答辩!”
这里也给大家贴一下:
#include<bits/stdc++.h>
using namespace std;
int a[1000];
int b[1000];
int main()
{
int n;
cin>>n;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
a[1]=1;
for(int i=1;i<=n;i++)
{
int temp=0;
for(int j=1;j<=1000;j++)
{
a[j]=a[j]*i+temp;
temp=a[j]/10;
a[j]=a[j]%10;
}
temp=0;
for(int j=1;j<=1000;j++)
{
b[j]=b[j]+a[j]+temp;
temp=b[j]/10;
b[j]=b[j]%10;
}
}
int k;
for(int i=999;i>=0;i--)
{
if(b[i]!=0)
{
k=i;
break;
}
}
for(int i=k;i>=1;i--)
{
cout<<b[i];
}
return 0;
}
不少人这时可能会想:啊?这不是我吗?
所以到最后,你们是更喜欢我的代码风格呢,还是更喜欢小白的代码风格呢?
答案显而易见了,所以这就是优化码风的第一招:多加空格
多换行?少换行?
看到这个标题的时候不知道大家的大脑有没有爆掉……
还是以刚刚那一道题目为例,小白的大括号经常一个括号就占了一行,但是我的大括号是和循环或判断在一起的,这就是标题中少换行的意思
至于多换行嘛,我们就以a+b为例吧:
code # 1
#include<bits.stdc++.h>
int a, b; int main() {std::cin >> a >> b; std::cout << a + b;}
code # 2
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
ll a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
总结一下,就是code1短小精悍但是码风像坨屎,code2虽然更长但是读起来更加舒服
那么现在,大家知道为什么标题是这样了吧
写在最后
其实码风总结到一起就是三个方面,也就是标题上所呈现的,但是我觉得,码风其实不是衡量一个人代码水平高低的标准,最后,码风还是得根据自己的选择,如果你觉得这篇随笔中的码风不合你意,请不要喷我,继续坚持你的码风吧!
如果这篇文章对你有帮助,不要忘了点击下面的推荐帮我上主页哦!
标签:std,空格,cout,int,代码,码风,实用,优化 From: https://www.cnblogs.com/charzie-blog/p/18156098