#CLPR1019. [字符串]Lisp语言
[字符串]Lisp语言
题目背景
wapapapapoo卷了一年,终于从计科转专业到土木。
在她为cad编写插件时,需要使用一种叫Lisp的语言。Lisp语言的基本语法是这样的:
(函数名 参数1 参数2 … 参数n)
; 注释...
这是一个示例程序:
;!/usr/bin/clisp
(setf greeting "hello world")
; 定义一个名为'greeting'的变量,变量存放一个字符串'hello world'
(print greeting)
; 打印greeting
; hello world
(print (string-upcase greeting))
; 打印转换为大写的greeting
; HELLO WORLD
题目描述
作为一名前计科学生,wapapapapoo表示Lisp毫无压力。
但当Lisp程序规模太大时,程序结尾处就会积累很大数量的)
。
wapapapapoo总是弄不清楚她要写多少个)
。她想请你编写一个程序,告诉她在程序结尾需要添加或删去几个)
。
输入格式
若干行Lisp脚本,不含shebang和注释。
输出格式
程序结尾需要添加或删去的)
数目。添加为正,删去为负。
样例
(setf greeting "(((((print hello world")
(print (string-upcase greeting
2
提示说明
给定的Lisp脚本大小不超过此题内存限制。
脚本只使用双引号包裹的字符串,且保证字符串内不含转义的双引号。
脚本每行不超过1023字节。
注意:可以使用gets函数读取输入。gets在没有输入时会返回-1,而scanf会阻塞并持续等待输入。
注意2:gets在C11已弃用。C11以上版本请使用gets_s或fgets。
数据需要加强
Why Not
getline()
?
getline在c++ iostream里,但这是c语言的题。
你说得对
但是