m0_74127278 2022-12-08 11:05 采纳率: 92.3%
浏览 16
已结题

输入一个十进制数字,输出它的位数

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int a;
int n=0;
scanf("%d",&a);
n=count(a);
printf("%d\n",n);
return 0;
}
int count(int a)
{
int n=0;
while(a!=0)
{
a=a/10;
n++;
}
return n;
}
我的while的循环条件a!=0换成a>9就对了为什么?

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-12-08 14:38
    关注

    while(a!=0) 得到位数的条件没什么问题啊。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 我系真滴菜 2022-12-08 11:37
    关注

    不是吧,要是条件是a>9,那输入1不是返回0了吗

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 win11安卓子系统打开谷歌登录不了切使用浏览器显示处于离线状态
  • ¥15 三维直角坐标系下,给定一个平面内四个点坐标,如何将四个点逆时针排序
  • ¥15 UnityWebRequest访问内网地址502
  • ¥20 Python语言来实现牛顿法(Newton's Method)解决非线性(系统)方程的问题。
  • ¥15 matlab控制工业相机采集图像
  • ¥25 R里做折线图和柱状图
  • ¥20 使用kokkos移植项目,遇到问题
  • ¥15 求该问题的Matlab代码
  • ¥15 python下使用pdpbox为何提示has no attribute 'pdp_isolate'?
  • ¥15 求java web病房管理系统项目,用netbeans做的