C语言入门3 |
您所在的位置:网站首页 › 流星打一个数字是多少 › C语言入门3 |
不要半途而废,加油! 判断位数 题目要求程序要读入一个5位以下(含5位)的正整数,然后输出这个整数的位数。如输入:352,输出:3 。 解题思路循环令数字每次/10,即去掉最右边的一位数,一直到结果为0,计算过程中持续计数,程序不考虑输入验证,不考虑输入值小于0或超过五位数的情况。 代码实现while循环方法 #include int main() { //初始化变量 int x = 0,longs = 0; //获取输入的整数 printf("请输入一个大于0的整数:"); scanf("%d", &x); //先进行一次/10,并记录一位 longs++; x = x/10; //若/10后仍大于0,则重复此步骤 while(x>0) { longs++; x /= 10; } //输出该整数的位数 printf("您输入的整数为%d位", longs); return 0; }do - while循环方法 #include int main() { //初始化变量 int x = 0,longs = 0; //获取输入的整数 printf("请输入一个大于0的整数:"); scanf("%d", &x); //先进行一次/10,若/10后仍大于0,则重复此步骤 do { longs++; x /= 10; }while( x>0 ); //输出该整数的位数 printf("您输入的整数为%d位", longs); return 0; } 代码总结while与do - while相比两者的区别是,do - while是先进入循环体,再判断是否符合条件,while是先判断是否符合条件,再进入循环体。两者的相同点是条件满足时执行循环,条件不满足时结束循环。 下图左边是do - while循环,右边是while循环。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |