实验4-2-8 输出整数各位数字 (15分)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
输出样例:
1 2 3 4 5 6
#include <stdio.h>
int main() {
int orign = 0;
scanf("%d", &orign);
int n = orign;
int a ;
int mask = 1;
int sum = 0;
sum ++;
if(orign < 10){
printf("%d ",orign);
return 0;
}
a = n / 10;
if ( a < 10 ){
sum = 2;
}
while ( a > 10 ) {
a = n / 10;
n = a;
sum ++;
}
for( int s = sum; s > 1 ; s --){
mask *= 10;
}
while (mask > 0){
int d = orign / mask;
printf("%d ", d);
orign = orign % mask;
mask = mask / 10;
}
return 0;
}
本文介绍了一种算法,用于将输入的非负整数从高位到低位逐位分割并输出。通过使用循环和位运算,算法能有效地处理任意长度的整数,适用于初学者理解和实践基本的编程技巧。
892

被折叠的 条评论
为什么被折叠?



