pascal输入一个整数N(1<=N<=10000000),把它的各位数字倒序输出。N末尾的零不要输出。

 我来答
办事通赵老师
高粉答主

2020-03-12 · 每个回答都超有意思的
知道小有建树答主
回答量:1001
采纳率:100%
帮助的人:23.8万
展开全部

问题的关键是处理末尾的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 阶乘表示方法:

h1415926535
2013-05-02 · TA获得超过3139个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:386万
展开全部
问题的关键是处理末尾的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.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
harunocl
2013-05-03 · TA获得超过1451个赞
知道小有建树答主
回答量:490
采纳率:0%
帮助的人:642万
展开全部
当成字符串处理就超简单了~
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.

三种方法随你选~
满意望采纳谢谢!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式