pascal程序(紧急)30分!!!

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:38:12
1.输入N,打印N位水仙花数(每个数字的N次方相加等于这个数字)如输入N=3
就是每个数的立方等于本身,打印的是153 370 371 407.
2.输入若干个单词(无标点),将它分离。 如输入:I am a boy
则输出:I
am
a
boy
急急!快来答复!!!!
回答这可再加10分

1.
program amusitelangshu;
var a:array[1..10]of longint;s:array[1..10]of string;
b:string; j,m,i,y,n,min,max,o:longint;f:extended;
begin
writeln('input wei shu:');readln(o);min:=1;max:=10;
for n:=10-o to 8 do
begin min:=min*10;max:=max*10;end;
max:=max-1;
for n:=min to max do
begin
str(n,b);
for i:=1 to length(b) do
begin
s[i]:=copy(b,i,1);
val(s[i],a[i],j);
m:=a[i];
for y:=2 to length(b) do a[i]:=a[i]*m;
end;
f:=0;
for i:=1 to length(b) do
f:=f+a[i];
if n=trunc(f) then writeln(n);
end;
readln
end.
2.
program dancifenjie;
var n,j:string;i:longint;
begin
write('input the words:');readln(n);n:=n+' ';
repeat
i:=pos(' ',n);
j:=copy(n,1,i-1);
writeln(j);
delete(n,1,i);
until i=0;
readln
end.
第二个里面那个“n:=n+' '”是为了配合下面的循环