Pascal语言 从键盘输入任何一个字符

www.zhiqu.org     时间: 2024-06-15
使用函数ord,将字符转换成ASCII码后计算。
var
a:char;
teshu:boolean;
begin
read(a);
teshu:=true; //我们假设全都是特殊的
if (ord(a)>=ord('0')) and (ord(a)<=ord('9')) then begin write('shuzi'); teshu:=false; end; //找到数字,证明不是特殊
if (ord(a)>=ord('A')) and (ord(a)<=ord('Z')) then begin write('daxie'); teshu:=false; end; //找到大写,证明不是特殊
if (ord(a)>=ord('a')) and (ord(a)<=ord('z')) then begin write('xiaoxie'); teshu:=false; end; //找到大写,证明不是特殊
if teshu then write('special');
readln;
readln;
end.

用ord(字符),算出来,看看是在什么范围内

调用crt单元,用其中的readkey函数。

ord()+ascii码表

大小写字母好像无差别

pascal语言 从键盘输入任意一个字符,判断并输出是大写字母、小写字母、数字还是其它特殊字符 要有分析~

var
a:char;
begin {开始}
readln(a); {读取字符}
if (ord(a)>=48)and(ord(a)<=57) then write('number'); {当48<=它的序列号<=57时,它是数字}
if (ord(a)>=65)and(ord(a)<=90) then write('big letter'); {当65<=它的序列号<=90时,它是大写字母}
if (ord(a)>=97)and(ord(a)<=122) then write('small letter') {当97<=它的序列号<=122时,它是小写字母}
else write('other character'); {其它的话,它是其它字符}
end. {结束}

var i,j,n1,n2,n3:longint;
s:ansistring;
begin
readln(s);
for i:=1 to length(s) do
if (s[i]>='a')and(s[i]<='z') then inc(n1)
else if (s[i]>='A')and(s[i]<='Z') then inc(n2)
else if (s[i]>='0')and(s[i]<='9') then inc(n3);
writeln('大写字母',n2);
writeln('小写字母',n1);
writeln('数字',n3);
end.


#敖卢固# pascal语言编程
(18421381952): 第二题题解: program ex2; var s1,s2:string; i,a,b:longint; begin readln(s1); readln(s2); a:=length(s2); if a<5 then s1:=s1+s2 else for i:=1 to 5 do s1:=s1+s2[i]; writeln(s1); end.

#敖卢固# pascal语言:输入一个字符串A,将里面的数字和大写字母分别显示(数字在前,字母在后) -
(18421381952): var i,j:integer; a:string; b:array[1..300] of char; begin j:=0; readln(a); for i:=1 to length(a) do if a[i] in ['0'..'9'] then write(a[i]) else begin inc(j); b[j]=a[i]; end; for i:=1 to j do write(b[i]); end.未编译

#敖卢固# 由键盘输入英文字母,编程判断该字母是大写字母还是小写字母 pascal -
(18421381952): var c: char; ... if c in ['A'..'Z'] then writeln('c is upcase letter') else if c in ['a'..'z'] then writeln('c is lowercase letter');

#敖卢固# 字符串编辑 pascal -
(18421381952): var s,c:string; a1,a2,i,j:integer; procedure out; begin writeln('No this char.'); halt; end; begin readln(s); readln(c); case c[1] of 'D','d':begin while c[2]=' ' do delete(c,2,1); if pos(c[2],s)=0 then out else delete(s,pos(c[2],s),1); end; 'I','i':begin while pos(' ',s)0 ...

#敖卢固# PASCAL 从键盘上输入 一条句子,将每个单词的第一个字母大写…… -
(18421381952): var s:ansistring; i,j:longint; begin readln(s); 读入 if (ord(s[1])>=97) and (ord(s[1])<=122) then s[1]:=chr(ord(s[1])-32); 如果首字母是小写的变大写 for i:=2 to length(s) do if (s[i-1]=' ') and (ord(s[i])>=97) and (ord(s[i])<=122) then s[i]:=chr(ord(s[i])-32); 把空格后的字母变大写 writeln(s); 输出 end.望采纳

#敖卢固# pascal语言:输入一个字符串,把他按正序和反序分别输出 -
(18421381952): var s:ansistring;//定义字符串,此处是用的扩展字符串,可以读入任意大小的字符串 i:longint;//循环变量begin readln(s); writel...

#敖卢固# Pascal里的输入语句 -
(18421381952): pascal里没有类似的函数;一种是你所说的,先读入再分割;另一种是用read读入单个字符,如果不是空格,则连到已有字符串;如果是空格,则将字符串赋给一个字符串变量,再读下一个字符串

#敖卢固# pascal语言 -
(18421381952): 1. (1): 4.0000000000000000E+0000 (2): 4 (3): true (4): false (5): 5 (6):...

#敖卢固# 输入语句(pascal) -
(18421381952): 变量名表中,变量可以是(无数个)个,再输入数值型数据时,数据间用(“,”)分隔.输入字符型数据时,必须(换行(readln))输入,且输入数据要和变量类型(一致).输入数据的个数不能少于(一个).否则系统一直处于(待命)状态.当输入数据大于变量表中变量个数时,则read格式中对于多出的数据系统会(忽略).在readln中多处的会(并入下一输入项) 输出语句:输出项可以是(字符)项,输出项可以是char类型、string类型、数据类型和布尔类型

#敖卢固# pascal输入一串字符,以“.”结束,统计其中每个小写字母出现的次数.(用数组) -
(18421381952): var ii,ch:char; cnt:array ['a'..'z'] of longint;begin repeat read(ch); if (ch>='a...