c语言(输入一个整数,统计它有几位数)如何用while语句代替do-while语句
输入一个整数,统计它有几位数#include"stdio.h"voidmain(){intm,n=0;printf("iniputanumber:\n");scanf("...
输入一个整数,统计它有几位数
#include "stdio.h"
void main()
{
int m,n=0;
printf("iniput a number:\n");
scanf("%d",&m);
m=m>0?m:-m;
do{
n++;
m/=10;
}while(m!=0);
printf("n=%d \n",n);
} 展开
#include "stdio.h"
void main()
{
int m,n=0;
printf("iniput a number:\n");
scanf("%d",&m);
m=m>0?m:-m;
do{
n++;
m/=10;
}while(m!=0);
printf("n=%d \n",n);
} 展开
展开全部
while(m!=0)
{
++n;
m/=10;
}
{
++n;
m/=10;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
......
while (m!=0)
{
n++;
m/=10;
}
......
while (m!=0)
{
n++;
m/=10;
}
......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上两位大哥的程序对大多数情况是适用的,但当输入的m=0时,应该输出“1”,可实际上却是输出的“0”。因为刚进入循环时就不满足条件“m!=0”, 直接略过循环体。
为了解决这种情况,只需将循环的条件改一下,改为“m!=0||n==0”,这样至少执行一便循环体,就可以解决该问题。程序如下:
......
while(m!=0||n==0)
{
n++;
m/=10;
}
......
为了解决这种情况,只需将循环的条件改一下,改为“m!=0||n==0”,这样至少执行一便循环体,就可以解决该问题。程序如下:
......
while(m!=0||n==0)
{
n++;
m/=10;
}
......
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询