C语言: 给一个不多于5为的正整数 要求:1.求出它是几位数 2.分别打印出每一位数字

2024-11-08 07:47:26
推荐回答(2个)
回答(1):

1. 求出它是几位数

#include

int main()

{

int n,m;

printf("请输入一个正整数:");

scanf("%d",&n);

if(n<=0)

{

printf("输入错误!\n");

}

else

{

m=0;

while(n>0)

{

m++;

n=n/10;

}

printf("这是一个%d位数!\n",m);

}
return 0;

}
2.分别打印出每一位数字

#include

int main()

{

int n,m;

printf("请输入一个正整数:");

scanf("%d",&n);

if(n<=0)

{

printf("输入错误!\n");

}

else

{

m=10000;

while(m>0)

{

if((n/m)!=0)

{

printf("%d ",n/m%10);

}

m=m/10;

}

}

return 0;

}
3.按逆序打印出各个数字

#include

int main()

{

int n;

printf("请输入一个正整数:");

scanf("%d",&n);

if(n<=0)

{

printf("输入错误!\n");

}

else

{

while(n>0)

{

printf("%d ",n%10);

n=n/10;

}

}

return 0;

}

回答(2):

可以放在一个程序里完成为什么一定要放在三个程序里呢
求几位数可以分解每个数进行统计也可以使用log10函数
逆序输出一个方法是将分解的每一个数存储在一个数组中然后逆序遍历数组就可以了

如果代码不想自己写的话
我可以有偿代劳