首页 > 代码库 > C、C++代码格式优化软件

C、C++代码格式优化软件

当题目不会做或者算法实现不了时,我们很自然地去网上搜代码,但是网上的代码排版太乱,根本不遵循代码规范,举个例子:大家可以点击这个链接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所不能比的,完全是参考代码格式标准进行优化的,例如“<=”“=”“==”“>=”“<<”“>>”“+”“-”“*”“/”“%”“!=”等符号左右都补全空格,“[]”“()”等里面都消除空格,{}严格对齐,“”引号里面的内容不做修改,保证输出格式正确,还有把代码中的空行删除……更多细节大家可以研究一下代码,下面把我的的劳动成果无偿献给大家本文转自:http://www.cnblogs.com/ma6174/archive/2011/12/06/2277998.html

 

C、C++代码格式优化软件