渣小渣的程序(c语言字符串处理问题

题目背景

C语言课程开设以来,许多同学被各种WA,RE,TLE,MLE伤得欲哭无泪。

而YW同学,由于程序写得好,代码改的快,亲和又善良,纯洁又无害(此处省略1000字)不少同学纷纷找他求改程序。

然而,其中某小渣同学发来的代码处于:无换行无缩进无对齐的”三无状态”,令沉溺于SM(哦不,ACM)这种高水平的YM才能享受的比赛的YM头昏眼花,倍感心酸。

YM每次帮渣 小 渣改程序都要耗费大量地精力和愉悦度(这是YM的HP与MP)来规范代码。(此处有哭声)

于是,作为YM的好基友大师,你决定写一个程序来将小渣发来的程序自动“规范化”,以愉悦善良又可爱又机智又神牛的YM,让TA能够有足够的心情和时间去ACM的课程中虐人。(什么?你问YM为什么不写一个这样的程序? 答案是显然的,YM没有精力写这种简单的程序,当然要让YM的崇拜者大师来写。)
那么~ 什么是「规范化」捏?

所有语句按层次缩进,每个缩进为4个空格(参见样例);
花括号必须独占一行,同层次括号必须对齐;
每行只能存在一个带有分号的语句(for(;;)循环中的分号不算);
for语句独占一行;
若不需进行「规范化」则原样输出(例#include<stdio.h>)。
鉴于小渣同学的水平(= =),我们假定小渣的代码中不存在注释,不存在for和if语句的嵌套,也不会存在一些奇葩语句。if语句不会有else,for循环的结构体保证有大括号{}包围。虽然小渣的代码没有缩进,但时不时会有一些换行。


测试输入

#include<stdio.h>
int main(){printf("Orz Dashen!");return 0;}

期待的输出

#include<stdio.h>
int main()
{
    printf("Orz Dashen!");
    return 0;
}

测试输入

#include<stdio.h>
int main()
{
int rp=100000;{{{printf("Orz Dashi");}rp+=1000000;}}
return 50;}

期待的输出

#include<stdio.h>
int main()
{
    int rp=100000;
    {
        {
            {
                printf("Orz Dashi");
            }
            rp+=1000000;
        }
    }
    return 50;
}

测试输入

#include<stdio.h>
int rp=0;void orz()
{
int i,j;
for(i=1;i<=1000;i++){rp++;}for(j=1;j<=1000;j++){rp+=j;}}
int main()
{orz();printf("%d",rp);}

期待的输出

#include<stdio.h>
int rp=0;
void orz()
{
    int i,j;
    for(i=1;i<=1000;i++)
    {
        rp++;
    }
    for(j=1;j<=1000;j++)
    {
        rp+=j;
    }
}
int main()
{
    orz();
    printf("%d",rp);
}

望提供好的思路,XIEXIE。

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。