1樓:匿名使用者
我來試試:
varn,a,b,s:longint;
begin
readln(n);
s:=1; //乘積初始化
repeat
repeat
a:=n mod 10; //取個位數字
s:=s*a; //累乘各位數字
b:=n div 10; //取剩餘多位數n:=b; //替換原多位數
until b=0;
write(s,' ');
n:=s; //以新生成的數字積替換原多位數s:=1; //乘積復位
until n<10;
end.
修改了一下程式,又找到了一個更長的:
338688 27648 2688 768 336 54 20 0
2樓:pascal真人
var a1,a2,a3:longint;
begin
readln(a1);
write(a1);
while a1<>0 do
begin
a2:=a1;
a3:=1;
while a2<>0 do
begin
a3:=a3*(a2 mod 10);
a2:=a2 div 10;
end;
a1:=a3; write(' ',a1);
end;
end.
樓主幾年級的?
請教一道C語言題目,求解一道C語言題目
呵呵 這個 容易啊 就是個 強制型別轉換的意思。首先 long 型別 佔 四個位元組。char 型別 佔 一個位元組。明白了這個 就好解決了。char p abcdefgh r long q 這兩行 標明 p是指向字元的指標 並且 指向abcdefgh這個字串 實際是指向a r 為指向字元的指標。q...
c語言一道題目求教教,C語言一道題目,求教教
號和四門功課的成績從鍵盤讀入。2 計算每個學生的總分和平均分。3 按平均成績進行排序,輸出 愛吃米糕 親,這個最基本的,你要自己練習才能慢慢寫出程式啊 小輝丿仔 這個你得自己做 給你提醒一下,可以陣列做 include include define null0 define len sizeof s...
一道簡單的c語言題目,一道簡單的C語言題目
s 2 是一個指標陣列,指向兩個字串 s 0 s 1 while s 1 0 迴圈,條件為 s 1 0 字串的最後一個值是 0 這裡遍歷s 1 字串,一共會遍歷4次。 寒鐵礦 你定義了一個指標陣列,s 0 指向的是第一個 字串的起始地址,s 1 指向的是第二個 字串的起始地址。while s 1 0...