·关于pascal语言的一道问题
发布网友
发布时间:2024-10-17 13:10
我来回答
共2个回答
热心网友
时间:2024-10-18 16:46
1.var i,x,a,s,t:integer;
begin
readln(x);t:=0;s:=x;{t:=0 为计数器的初值赋值}
repeat s:=s div 10;
t:=t+1;{t:=t+1 计数器}
until s<1;
writeln(t);
a:=x;
repeat t:=t-1;for i:=1 to t do a:=a div 10;{这一句是计算这个数的最高位数字}
if a>10 then a:=a mod 10;{先判断是否为三位数再计算}
writeln(a);
a:=x;
until t=1;
a:=x mod 10;
writeln(a);
end.
楼上1题有错,是“一个不多于三位数的正整数”,不是一个三位数。
2.var a,b,c,t: integer;
begin
readln(a,b,c);
if a<b then
begin t:=a;a:=b;b:=t;
end;
if a<c then
begin t:=a; a:=c; c:=t
end;
if b<c then
begin
t:=b; b:=c; c:=t
end;
writeln(a:6,b:6,c:6);
readln
end.
这道题就不用说了,你应该看得懂。
3.var i,j,a:char;
begin
readln(a);
if (a='a')or(a='A') then writeln(1);
if (a='b')or(a='B')then writeln(2);
if (a='c')or(a='C') then writeln(3);
if (a='d')or(a='D') then writeln(4);
for i:='E' to 'Z' do i:=i;
for j:='e' to 'z' do j:=j;
if (a=i)or(a=j)then writeln(5);
end.
“repeat”是重复循环语句,它是先执行后判断,其格式为:repeat 表达式 until 条件;先执行repeat和until之间的表达式,再判断until后面的条件是否成立,若成立,则退出循环;若不成立,则继续执行repeat和until之间的表达式。
热心网友
时间:2024-10-18 16:47
最佳选另一位吧
懒得改正了
第一题
program t1;(习惯而已,这句可以省)
var
a,b,c,n:inteer;
begin
readln(n);
a:=n mod 10;
b:=n div 100;
c:=n mod 100 div 10;
writeln(a,' ',b,' ',c);
end.
mod 是整除 25 mod 10 =2;
div 是取余 25 div 10 =5;
第二题
program t2;
var
a,b,c,n:integer;
bein
readln(a,b,c);
if b>a then begin
n:=a;
a:=b;
b:=a;
end; (比较a,b大小,若b大则a,b互换)
if c>a then writeln(c,a,b)
else if c>b then writeln(a,c,b)
else writeln(a,b,c);
end.
第三题
请说明是一次输入一个字符还是一串字符
否则无法解答
以上程序皆未调适,可能存在部分问题,但不会出现大失误
你自己看着改吧,