c语言正序输出整数的各位数字
程序员文章站
2022-03-21 22:18:25
...
7-37 输出整数各位数字 (15分)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
输出样例:
1 2 3 4 5 6
一般的思路就是先得出这个数的位数,然后从高位开始分割,每个数字后面跟一个空格。特别需要注意的是对于边界数据比如0这些数的验证。
#include <stdio.h>
int main()
{
int x;
scanf("%d",&x);
int t=x; //x后面还要用,暂时先储存起来
int mask;
if (t==0) mask=0;else mask=1; //0的时候要特判
while (t>9){ //这一段整个是得出位数
t /=10;
mask *=10;
}
if (x==0) printf("%d ",0);
while (mask!=0) { //核心过程,万事俱备,注意while条件
t= x/mask;
x %=mask;
mask /=10;
printf("%d ",t);
}
return 0;
}
上一篇: Linux回收站机制实现过程及用法详解
下一篇: 树莓派01-前期准备
推荐阅读
-
顺序输出一个整数的各位数字
-
c语言:3种方法实现输出一个整数的每一位。
-
C语言:编写程序数一下 1到 100 的所有整数中出现多少次数字 9
-
Liunx系统下的C语言练习:把句子中的单词倒序操作,输入"i am from shanghai",输出"shanghai from am i"
-
[C语言]实现函数itoa(int n,char s[]),将整数n这个数字转换为对应的字符串,保存到s中
-
C语言:从键盘上输入10个整数,求他们的平均值以及正数的个数,并加以输出
-
【C语言程序练习】从键盘输入两个整数,计算并输出他们的和、差、积、商t和平均值
-
【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)
-
C语言输出int型整数的二进制值(使用结构体位域)
-
c语言| |数一下 1到 100 的所有整数中出现多少次数字9(代码实例)