C语言问题.编写程序,输入一个长整型正数,判断该数是几位数

问题描述:

C语言问题.编写程序,输入一个长整型正数,判断该数是几位数
源程序:
#include
#include
main()
{
\x05long int x;
\x05double y;
\x05int z=1,i=0;
\x05printf("输入长整型正数:");
\x05scanf("%ld",&x);
do{
\x05\x05z=z*10;
\x05\x05y=x/z;
\x05\x05i++;
\x05}while(y>0);
\x05printf("位数:%d\n",i);
}
--------------
这个程序有错吗?如果没错的话,我想问下为什么是while(y>0)?不是y>1?如果错了要怎么改.
1个回答 分类:综合 2014-09-18

问题解答:

我来补答
#include
#include
main()
{
\x09long int x;
\x09int i=0;
printf("input:");
\x09scanf("%ld",&x);
do{
x=x/10;
i++;
\x09}while(x>0);
printf("the nubmer is:%d\n",i);
}
这样就正确了,你自己运行下^_^
注: 除法运算符“/”:双目运算具有左结合性.参与运算量均为整型时,结果也为整型,舍去小数.例如,你输入123456 先执行123456/10 结果为12345 在继续执行12345/10 结果为1234.最后为1/10 结果为0 不满足条件x>0 结束循环,打印i的值^_^
 
 
展开全文阅读
剩余:2000
上一页:课时练P3