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++)