内工大acm校赛--整理代码

时间:2023-03-08 19:50:46

题目:小明搜到一行无缩进无换行代码,请帮小明整理代码。无for语句和case语句,而且只有一个主函数。你只要控制注意“;”“{”“}”这三个符号带来的缩进和换行效果就行。

Input:

输入只有一行,无缩进无换行字符,字符不超过10000009个。文件尾结束。

Output:

规范的缩进和换行,增加和减少缩进都以四个空格为单位。

Sample Input:

int main(){int a,b,c;while(cin>>a>>b){if(a>b){c=a+b;cout<<c<<endl;}else{c=b-a;cout<<c<<endl;}}}

Sample Output:

int main()

{

  int a,b,c;

  while(cin>>a>>b)

  {

    if(a>b)

    {

      c=a+b;

      cout<<c<<endl;

    }

    else

    {

      c=b-a;

      cout<<c<<endl;

    }

  }

}

Hint

增加和减少缩进量都以四个空格为单位。

#include<stdio.h>
int main()
{
int num = ;
int c;
char *str = " ";
int i;
int flag = ;
while((c = getchar())!=EOF)
{
if( c == '{' )
{
putchar('\n');
for(i = ; i < num ; i ++)
printf("%s",str);
putchar(c);
num++;
putchar('\n');
flag = ;
}
else if( c == '}' )
{
num--;
for(i = ; flag && i < num ; i ++)
printf("%s",str);
putchar(c);
putchar('\n');
flag = ;
}
else if( c == ';' )
{
for(i = ; flag && i < num ; i ++)
printf("%s",str);
putchar(c);
putchar('\n');
flag = ;
}
else if( c!='\n' && c != '\r')
{
for(i = ; flag && i < num ; i ++)
printf("%s",str);
putchar(c);
flag = ;
}
}
return ;
}