pascal輸入整數n(1《n,pascal輸入乙個整數N(1 N 10000000),把它的各位數字倒序輸出。N末尾的零不要輸出。

時間 2021-09-11 22:33:35

1樓:何老師**答疑

問題的關鍵是處理末尾的0,程式如下:

輸入乙個正整數,將其逆序輸出,每個數字後有乙個空格。

輸入乙個正整數n,可以假設n在int範圍內輸出將n按其逆序輸出,每個數字後有乙個空格,輸出佔一行。/#include

int main()

{int i;

int n;

scanf("%d",&n);

int num = 0;

for(i = 0; ; i ++)

{num = n % 10;

n /= 10;

printf("%d\n",num);

if( n < 1)

break;

]return 0;

擴充套件資料雙階乘用「m!!」表示。

當 m 是自然數時,表示不超過 m 且與 m 有相同奇偶性的所有正整數的乘積。如:

當 m 是負奇數時,表示絕對值小於它的絕對值的所有負奇數的絕對值積的倒數。

當 m 是負偶數時,m!!不存在。

任何大於等於1 的自然數n 階乘表示方法:

2樓:匿名使用者

當成字串處理就超簡單了~

vari,j:longint;

n:string;

begin

readln(n);

for i:=length(n) downto 1 doif n[i]<>'0' then break; //這步是去掉前置0

for j:=i downto 1 do write(n[j]);

writeln;

end.

當然你用陣列也可以

把n定義成字元陣列n:array [1..9] of char;

這樣做還要記錄下長度

直接用整形來做當然也是可以的!

varn:longint;

begin

readln(n);

while (n mod 10=0) do n:=n div 10; //這步是去掉前置0

while n<>0 do

begin

write(n mod 10); //輸出最後一位n:=n div 10; //刪掉最後一位end;

writeln;

end.

三種方法隨你選~

滿意望採納謝謝!!

3樓:匿名使用者

問題的關鍵是處理末尾的0.

程式如下:

var s:string;

i,j:integer;

begin

readln(s); //整數用字串來存;

for i:=length(s) downto 1 doif s[i]<>'0' then break; //這一步,是找出s串最右邊乙個不是0的數字的位置,用 i 記下;

for j:=i downto 1 do write(s[j]);

readln;

end.

輸入正整數 m 和 n(1《m,n《500),統計並

int prime int i return 1 因為對於任何數i,i i總是等於0的。迴圈的終止條件應該是j include include int main void printf count d,sum d n count,sum int prime int i return 1 這是我改的源...

用VB編寫程式,輸入正整數n,求所有大於1且小於n,同時與n互質的數,存入陣列並每行的格式輸出

同時與n互質的數 這個不太明白?能說一下嗎?下面1000以內質數演算法。private sub command1 click text1.text for i 1 to 1000 k 1 for j 2 to i 2 if i mod j 0 then k 0next j if k 1 then p...

vb程式設計題在文字框1中輸入整數n判斷其能否

console.writeline 請輸入一個整數 int n n int.parse console.readline if n 5 0 n 7 0 console.writeline n 能夠同時被5和7整除 console.read elsew console.writeline n 不能夠同...