题目:小明搜到一行无缩进无换行代码,请帮小明整理代码。无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 ;
}