永发信息网

【程序设计】输入一个整数,从高位开始逐个数字输出

答案:5  悬赏:60  手机版
解决时间 2021-05-18 10:19
  • 提问者网友:世勋超人
  • 2021-05-17 10:58

RT

就是输入一个整数,然后从高位开始输出

最好有注释~~~~

最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-05-17 11:04
进制转换?

#include <stdio.h>

void dto2(void* num, int n)
{
typedef unsigned char *pbyte;
int i;
pbyte p = (pbyte)num + n - 1;
while(p >= (pbyte)num) {
for(i = 7; i >= 0; --i)
putchar(*p & (1 << i) ? '1' : '0');
putchar(' ');
--p;
}
putchar('\n');
}


int main()
{
int n;
scanf( "%d", &n );
dto2( &n, sizeof( int ) );
return 0;
}

没明白你的意思,到底是进制转换还是单纯地输出每一位?下面的代码是输出每一位:

#include <stdio.h>
#include <limits.h>

typedef unsigned long ulong;

void rprint( ulong n )
{
if ( n > 0 ) {
rprint( n / 10 );
printf( "%d ", n % 10 );
}
}

int main()
{
ulong n;
printf( "请输入一个数字(%lu~%lu):", 0, ULONG_MAX );
scanf( "%lu", &n );
printf( "从高位开始输出每一位是:" );
rprint( n );
return 0;
}
全部回答
  • 1楼网友:英雄的欲望
  • 2021-05-17 15:17

不就是用printf函数输出就可以了吗?printf输出的就是从高位到低位的嘛!

  • 2楼网友:夜余生
  • 2021-05-17 13:50

如果要VB语言做的,找我

  • 3楼网友:一秋
  • 2021-05-17 13:24

不知你要什么语言,提供个思路吧

先将输入的整数转化为字符串格式,然后用循环从第一位开始依次读取各位上的字符

  • 4楼网友:西岸风
  • 2021-05-17 12:27

以5位数以内为例

#include<stdio.h> void main() { long int a,b,c,d,e,x; printf("请输入任意一个正整数\n"); scanf("%ld",&x); a=x/10000; b=x%10000/1000; c=x%1000/100; d=x%100/10; e=x%10; if(a!=0) printf("这是一个五位数,逆向为:%ld\t%ld\t%ld\t%ld\t%ld\n",a,b,c,d,e); else if(b!=0) printf("这是一个四位数,逆向打印为:%ld\t%ld\t%ld\t%ld\n",b,c,d,e); else if(c!=0) printf("这是一个三位数,逆向打印为:%ld\t%ld\t%ld\n",c,d,e); else if(d!=0) printf("这是一个二位数,逆向打印为:%ld\t%ld\n",d,e); else if(e!=0) printf("这是一个一位数,逆向打印为:%ld\n",e); }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯