pascal输入一个整数N(1<=N<=10000000),把它的各位数字倒序输出。N末尾的零不要输出。
3个回答
展开全部
问题的关键是处理末尾的0,程序如下:
输入一个正整数,将其逆序输出,每个数字后有一个空格。
输入一个正整数n,可以假设n在int范围内
输出将n按其逆序输出,每个数字后有一个空格,输出占一行。/
#include<stdio.h>
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 阶乘表示方法:
展开全部
问题的关键是处理末尾的0.
程序如下:
var s:string;
i,j:integer;
begin
readln(s); //整数用字符串来存;
for i:=length(s) downto 1 do
if s[i]<>'0' then break; //这一步,是找出s串最右边一个不是0的数字的位置,用 i 记下;
for j:=i downto 1 do write(s[j]);
readln;
end.
程序如下:
var s:string;
i,j:integer;
begin
readln(s); //整数用字符串来存;
for i:=length(s) downto 1 do
if s[i]<>'0' then break; //这一步,是找出s串最右边一个不是0的数字的位置,用 i 记下;
for j:=i downto 1 do write(s[j]);
readln;
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当成字符串处理就超简单了~
var
i,j:longint;
n:string;
begin
readln(n);
for i:=length(n) downto 1 do
if n[i]<>'0' then break; //这步是去掉前置0
for j:=i downto 1 do write(n[j]);
writeln;
end.
当然你用数组也可以
把n定义成字符数组n:array [1..9] of char;
这样做还要记录下长度
直接用整形来做当然也是可以的!
var
n: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.
三种方法随你选~
满意望采纳谢谢!!
var
i,j:longint;
n:string;
begin
readln(n);
for i:=length(n) downto 1 do
if n[i]<>'0' then break; //这步是去掉前置0
for j:=i downto 1 do write(n[j]);
writeln;
end.
当然你用数组也可以
把n定义成字符数组n:array [1..9] of char;
这样做还要记录下长度
直接用整形来做当然也是可以的!
var
n: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.
三种方法随你选~
满意望采纳谢谢!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询