主题:各位高手帮个忙,超简单的PASCAL编程我不会...哭
冰封血之度
[专家分:0] 发布于 2006-12-10 15:29:00
2、 读入三个整数a,b,c,先按读入顺序输出,再按从大到小输出,每个数间空一格。
样例:
输入:3 37 25
输出:3 37 25
37 25 3
3、 将字母a,b,c,d和A,B,C,D转换成1,2,3,4,其余字母转换为5。
样例:
输入:B
输出:2
输入:T
输出:5
4、 读入一个整数,若它是一个平方数,则给出它是哪个数的平方,否则输出“NO”。
样例:
输入:9
输出:3
输入:10
输出:NO
5、 读入一个英文字母并将它输出,当该字母处于字母表的前半部时,输出它的后继,当它处于字母表的后半部时,输出它的前趋。当该字母是第一个或最后一个时没有前趋或后继,则输出“NO”。
6、 某企业经理根据X,Y指标给下属评定等级,方法如下:如果X大于等于4而且Y也大于等于4则评为A;如果X大于等于4而Y小于4则评为B;如果X小于4则评为C。编程给出评定程序。
7、 已知,x在1~8之间,按如下公式计算y的值。(清华P47例)
3x+5 1≤x<2
2sinx-1 2≤x<3
3≤x<5
x2-2x+5 5≤x<8
回复列表 (共18个回复)
11 楼
zhangyuan [专家分:630] 发布于 2006-12-15 19:14:00
[quote][quote]3:for i:=1 to 4 do
begin
if chr(ch)=(i+64)or(i+96) then write(i);
else write(5);
end;
end.
[/quote]
这个是错的
else里直接打5的话超过1的都会打出5[/quote]
应该是
3:for i:=1 to 4 do
begin
if chr(ch)=(i+64)or(i+96) then
begin
wirte(i) ;
j:=j+1;break;
end;
end;
if j=0 then wirte(5)
end.
12 楼
zhangyuan [专家分:630] 发布于 2006-12-15 19:26:00
4:for i:=1 to n do
if n mod i=i then
begin
wirte(i);
a:=a+1;
end;
if a=0 then wirte('NO');
end.
13 楼
zhangyuan [专家分:630] 发布于 2006-12-15 19:45:00
5: if ord(ch)=(65)or(90)or(97)or(122)then
begin
i:=i+1;
wirte('NO');
end.
if i=0 then
if (ord(ch)<78)or(ord(ch)<110) then wirte(chr(ord(ch)-1));
else wirte(chr(ord(ch)+1));
end.
14 楼
雪光风剑 [专家分:27190] 发布于 2006-12-15 22:54:00
zhangyuan你的write为什么都是wirte
15 楼
zhangyuan [专家分:630] 发布于 2006-12-16 09:45:00
6:if x>=4 then
if y>=4 then write('A');
else write('B');
else write('C');
end.
16 楼
zhangyuan [专家分:630] 发布于 2006-12-16 10:01:00
2: for i:=1 to 3 do
read(a[i]);
write(a[i-2],a[i-1],a[i]);
for i:=1 to 2 do
for j:=1 to 3 do if a[i]<a[j] then begin 换值;write(a[j]);end;
end.
17 楼
雪光风剑 [专家分:27190] 发布于 2006-12-16 14:04:00
[quote]2: for i:=1 to 3 do
read(a[i]);
write(a[i-2],a[i-1],a[i]);
for i:=1 to 2 do
for j:=1 to 3 do if a[i]<a[j] then begin 换值;write(a[j]);end;
end.
[/quote]
有问题
j应该是从i+1 to 3
18 楼
冰封血之度 [专家分:0] 发布于 2006-12-21 18:36:00
应该都会了,Thank you
我来回复