turboC2.0程序问题
编写整个有点麻烦。。第一个问题就是在每行换行都会用eoln这个函数作为结束eoln(f)参数f代表的是文件名。当此行结束时,eoln就为true,而且true在程序中的数字代表为1,所以说只要用一个变量来记录true值就OK了。 。比如用变量n,ifeoln=truethenn:=n+1;但一定要注意的是每次换行后都要把eoln重置false。。。(这个我具体没有实践过,看样子要用到repeat或者while循环)。第二个问题,因为有了eoln这个函数,只要在它false和true这段数据(就是一行了);判断次行数据中小写字母就OK了,至于怎么统计,因为小写字母和大写字母在ASCLL表中...全部
编写整个有点麻烦。。第一个问题就是在每行换行都会用eoln这个函数作为结束eoln(f)参数f代表的是文件名。当此行结束时,eoln就为true,而且true在程序中的数字代表为1,所以说只要用一个变量来记录true值就OK了。
。比如用变量n,ifeoln=truethenn:=n+1;但一定要注意的是每次换行后都要把eoln重置false。。。(这个我具体没有实践过,看样子要用到repeat或者while循环)。第二个问题,因为有了eoln这个函数,只要在它false和true这段数据(就是一行了);判断次行数据中小写字母就OK了,至于怎么统计,因为小写字母和大写字母在ASCLL表中的数值是不一样的,不妨用97-122('a'-'z'也一样)来统计,这个可能用数组比较好统计,看得也比较详细,数组的话你下看去也会明白的。
。。但题目是单纯的统计小写字母的个数,整个程序就好编了: {定义变量}beginnum:=0;{数据清零,但不用也行,因为从begin这一句开始,程序就自动清零了}read(ch);whilech<>'?'dobeginif(ch>='a')and(ch<='z')thennum:=num+1;{统计,当读入的字符大于等于a并且小于等于z,就是从a-z时num+1}read(ch);{这一句一定要,不然无法读取下一个字符}end;writeln('a-z=',num);end。
注意:第二个问题的要求是以'?'结束,读入的一串字符要以'?'结束,不然程序会一直向你要求再读取。收起