#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语言的题。

你说得对

但是