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 不能夠同...