Напишіть програму, яка додає або видаляє пробіли, щоб добре форматувати код. Правила того, як повинен виглядати код, коли ви закінчите:
- Жоден рядок не повинен містити більше одного
{
та}
. - A
{
завжди має бути останньою справою у рядку. }
Завжди повинна бути тільки річ на лінії (крім пробілу , що йде перед ним).- Кількість пробілів перед кожним рядком має бути фіксованим кратним поточному кількості вкладень. (Ви можете використовувати будь-яку кількість відступів, що вам потрібно, доки вона не зміниться.)
- Не слід вставляти чи видаляти пробіли, які не сприяють виконанню одного з цих правил.
Кількість гніздування для першого рядка дорівнює 0. Кількість вкладень для будь-якого іншого рядка - це число вкладення попереднього рядка, плюс одне, якщо попередній рядок містить a {
, мінус один, якщо поточний рядок містить a }
.
{
а }
всередині рядкових літералів та коментарів не враховується у вищезазначених правилах. Строковий буквал - це текст, укладений в одиночні або подвійні лапки, де одиничні або подвійні лапки з непарною кількістю зворотних косих ринків безпосередньо перед ними не інтерпретуються як кінець рядкового літералу. Коментар є текст , укладений в /*
і */
, або текст , йдучи від //
кінця лінії. У рядку декількох маркерів початку коментарів рахується лише перший. Коментарі не розбираються всередині літеральних рядків.
Приклади
main() {printf("Hello!"); // I don't care about the world...
}
becomes:
main() {
printf("Hello!"); // I don't care about the world...
}
int main(){
puts("a");
puts("b");
}
becomes:
int main(){
puts("a");
puts("b");
}
main()
{ printf("{"); /* }
} */
printf("}//}"); ///*
}
becomes:
main()
{
printf("{"); /* }
} */
printf("}//}"); ///*
}
int test[] = {1, 2, 3};
becomes:
int test[] = {
1, 2, 3
}
;