c语言:显示位数的,我有2个地方做不好了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言:显示位数的,我有2个地方做不好了相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
main()

long num;
int a,b,c,place,logic;
printf("请输入一个数字 0~999:");
scanf("%ld",&num);
logic=1;
while (logic)

if (num>999)
printf("输入错误,请重新输入");
else
logic=0;

if (num>99)
place=3;
else if (num>9)
place=2;
else place=1;
printf("这是一个 %d 位数",place);
c=num/100;
b=(num-c*100)/10;
a=(num-c*100-b*10);
printf("各位数字分别是%d,%d,%d\n:",c,b,a);
printf("\n");
printf("倒序数字是:\n");
switch (place)

case 1:printf("%d",a);break;
case 2:printf("%d%d",a,b);break;
case 3:printf("%d%d%d",a,b,c);break;



问题一:我输入一个四位数的话运行,满屏幕都是“请重新输入”
问题二:我输入一个两位数比如32,结果显示每一位数字的时候是032,我不想要那个0啊!

兴致来了,帮你改了。反正目的是达到了。只是结果输出顺序与你的反了。

#include <stdio.h>
main()

long num;
int b[3],i=0,logic;
logic=1;
while (logic)

printf(
参考技术A 问题一,你把scanf写到while循环里面,原因自己想。
问题二,printf(

以上是关于c语言:显示位数的,我有2个地方做不好了的主要内容,如果未能解决你的问题,请参考以下文章

c语言如何控制小数位数?

c语言 求小数的位数

c语言 输入任意三位数 分离个十百位

c语言输入无符号16位数判断这个数第8位是不是为1

c语言如何控制小数位数

c语言一个数分解成独立的数字