题目:小明搜到一行无缩进无换行代码,请帮小明整理代码。无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 = 0; int c; char *str = " "; int i; int flag = 0; while((c = getchar())!=EOF) { if( c == '{' ) { putchar(' '); for(i = 0; i < num ; i ++) printf("%s",str); putchar(c); num++; putchar(' '); flag = 1; } else if( c == '}' ) { num--; for(i = 0; flag && i < num ; i ++) printf("%s",str); putchar(c); putchar(' '); flag = 1; } else if( c == ';' ) { for(i = 0; flag && i < num ; i ++) printf("%s",str); putchar(c); putchar(' '); flag = 1; } else if( c!=' ' && c != ' ') { for(i = 0; flag && i < num ; i ++) printf("%s",str); putchar(c); flag = 0; } } return 0; }