码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-10-25 22:50:39      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   for   sp   

当题目不会做或者算法实现不了时,我们很自然地去网上搜代码,但是网上的代码排版太乱,根本不遵循代码规范,举个例子:大家可以点击这个链接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++代码格式优化软件

标签:style   blog   http   color   io   os   ar   for   sp   

原文地址:http://www.cnblogs.com/leijiangtao/p/4050906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!