C、C++代码格式优化软件---献给编程爱好者

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

当题目不会做或者算法实现不了时,我们很自然地去网上搜代码,但是网上的代码排版太乱,根本不遵循代码规范,举个例子:大家可以点击这个链接http://tieba.baidu.com/f?kz=825544513,,这里有个代码,

 

复制代码
#include<iostream>
#include<string.h>
using namespace std;
int main()
{ char a[100],b[1000];
int k,i,j,t=0,la,lb;
scanf("%d",&k);
while(t<k)
{
scanf("%s",a);
scanf("%s",b);
printf("Case %d:\n",++t);
printf("%s + %s = ",a,b);
la=strlen(a);
lb=strlen(b);
char c[1000];
if(la<lb)
{ strcpy(c,a); strcpy(a,b); strcpy(b,c);
int c=la; la=lb; lb=c;
}
for(i=0;i<la/2;++i)
{ int c=a[i]-48;
a[i]=a[la-i-1]-48;
a[la-i-1]=c;
}
if(la&1) a[la/2]-=48;
for(j=0;j<lb/2;++j)
{ int c=b[j]-48;
b[j]=b[lb-j-1]-48;
b[lb-j-1]=c;
}
if(lb&1) b[lb/2]-=48;
bool flag=0;
for(i=lb;i<=la;++i)
b[i]=0;
for(i=0;i<la;++i)
{
c[i]=a[i]+b[i]+flag;
flag=c[i]/10; c[i]=c[i]%10;
}
if(flag) cout<<1;
for(i=la-1;i>=0;--i)
printf("%d",c[i]);
cout<<endl;
if(t!=k)
cout<<endl;
}
return 0;
}
复制代码

怎么样??这种代码一看就心烦,一点格式都没有,他提问都一年多了,,都没人回答,估计就是这个原因。
但是,如果这是我们需要的代码怎么办??一点一点地补齐空格,相当麻烦,如果代码再长点呢,几百上千行,估计没人会有耐心再看这个代码
这就是问题的由来。为了解决这个问题,我专门写了这个软件,如果仅仅是缩进,这个简单,我想,,既然写了,就把它完善到最好。以后我们进了软件公司,估计首先得到的就是一份代码规范(关于代码规范,大家可以到这个网站看一下http://wenku.baidu.com/view/f6a3341dfc4ffe473368abce.html)代码规范很重要,因为在公司里,大部分时间是用来看别人的代码,如果写成一堆乱麻,公司怎么会要你??有一个不规范的地方扣100元钱,估计工资都扣没了。有些人写代码写了好几年了,习惯不能一下子改过来,怎么办?为了规范再去检查代码吗?哈哈,我的软件就派上用场了,你只要用我的软件一优化,立马丑小鸭变天鹅,一个规范的代码就出来了,哈哈,就是这么有用!先看看上面的代码被我的软件优化后的效果

 

复制代码
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char a[100], b[1000];
int k, i, j, t = 0, la, lb;
scanf("%d", &k);
while(t < k)
{
scanf("%s", a);
scanf("%s", b);
printf("Case %d:\n", ++t);
printf("%s + %s = ", a, b);
la = strlen(a);
lb = strlen(b);
char c[1000];
if(la < lb)
{
strcpy(c, a); strcpy(a, b); strcpy(b, c);
int c = la; la = lb; lb = c;
}
for(i = 0; i < la/2; ++i)
{
int c = a[i]-48;
a[i] = a[la-i-1]-48;
a[la-i-1] = c;
}
if(la&1) a[la/2] -= 48;
for(j = 0; j < lb/2; ++j)
{
int c = b[j]-48;
b[j] = b[lb-j-1]-48;
b[lb-j-1] = c;
}
if(lb&1) b[lb/2] -= 48;
bool flag = 0;
for(i = lb; i <= la; ++i)
b[i] = 0;
for(i = 0; i < la; ++i)
{
c[i] = a[i] + b[i] + flag;
flag = c[i]/10; c[i] = c[i]%10;
}
if(flag) cout << 1;
for(i = la-1; i >= 0; --i)
printf("%d", c[i]);
cout << endl;
if(t != k)
cout << endl;
}
return 0;
}
复制代码

怎么样??还不错吧。说明一下,我的软件不仅仅是在行首补上空格,更重要的是对行里面的代码格式也进行了优化,这是一些ide所不能比的,完全是参考代码格式标准进行优化的,例如“<=”“=”“==”“>=”“<<”“>>”“+”“-”“*”“/”“%”“!=”等符号左右都补全空格,“[]”“()”等里面都消除空格,{}严格对齐,“”引号里面的内容不做修改,保证输出格式正确,还有把代码中的空行删除……更多细节大家可以研究一下代码,下面把我的的劳动成果无偿献给大家

 

View Code 查看代码

可能有些地方考虑不完善,请大家批评指出。
生成的可执行文件大家可以到我的网盘下载:http://ma6174.ys168.com/


博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2011/12/06/2277998.html ,如需转载请自行联系原作者
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3月前
|
安全 编译器 程序员
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
64 2
|
13天前
|
算法 安全 C++
用 C++ 算法控制员工上网的软件,关键逻辑是啥?来深度解读下
在企业信息化管理中,控制员工上网的软件成为保障网络秩序与提升办公效率的关键工具。该软件基于C++语言,融合红黑树、令牌桶和滑动窗口等算法,实现网址精准过滤、流量均衡分配及异常连接监测。通过高效的数据结构与算法设计,确保企业网络资源优化配置与安全防护升级,同时尊重员工权益,助力企业数字化发展。
35 4
|
3月前
|
存储 C++ UED
【实战指南】4步实现C++插件化编程,轻松实现功能定制与扩展
本文介绍了如何通过四步实现C++插件化编程,实现功能定制与扩展。主要内容包括引言、概述、需求分析、设计方案、详细设计、验证和总结。通过动态加载功能模块,实现软件的高度灵活性和可扩展性,支持快速定制和市场变化响应。具体步骤涉及配置文件构建、模块编译、动态库入口实现和主程序加载。验证部分展示了模块加载成功的日志和配置信息。总结中强调了插件化编程的优势及其在多个方面的应用。
441 68
|
2月前
|
算法 安全 C++
提高C/C++代码的可读性
提高C/C++代码的可读性
66 4
|
2月前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
161 4
|
3月前
|
安全 程序员 编译器
【实战经验】17个C++编程常见错误及其解决方案
想必不少程序员都有类似的经历:辛苦敲完项目代码,内心满是对作品品质的自信,然而当静态扫描工具登场时,却揭示出诸多隐藏的警告问题。为了让自己的编程之路更加顺畅,也为了持续精进技艺,我想借此机会汇总分享那些常被我们无意间忽视却又导致警告的编程小细节,以此作为对未来的自我警示和提升。
394 15
|
2月前
|
消息中间件 存储 安全
|
3月前
|
存储 搜索推荐 C++
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
70 2
|
3月前
|
安全 程序员 编译器
【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则
【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则
98 11
|
3月前
|
存储 编译器 C++
【C++篇】引领C++模板初体验:泛型编程的力量与妙用
【C++篇】引领C++模板初体验:泛型编程的力量与妙用
56 9