精华内容
下载资源
问答
  • C语言获取一个数字各位数的乘积

    千次阅读 2019-12-21 11:38:58
    本篇程序参考代码“获取一个数字各位数的乘积”节选自“C语言解惑课堂”第12篇,更多C语言程序参考代码,可进入文末链接+微信扫扫进入课堂学习! 一、编程要求 要求获取一个数字各位数的乘积,比如输入数字“123”...
    本篇程序参考代码“获取一个数字各位数的乘积”节选自“C语言解惑课堂”第12篇,更多C语言程序参考代码,可进入文末链接+微信扫扫进入课堂学习!

    一、编程要求

    要求获取一个数字各位数的乘积,比如输入数字“123”,输出各位数的乘积“6”;再比如输入数字“34567”,输出各位数字的乘积“2520”。

    二、参考代码

    你有思路了吗?我给出其中一个C实现方式,见附图。

     

    我的实现方式就是使用了C语言中的“/”和“%”两运算符,前者是除法运算符,后者是求余运算符。一个整数使用“%”运算符时会得到末尾的一个位数,使用“/”运算符时会剔除掉末尾的一个位数。真是有意思!

    三、进入C语言解惑课堂

    展开全文
  • 循环令数字每次/10,即去掉最右边的一位数,一直到结果为0,计算过程中持续计数,程序不考虑输入验证,不考虑输入值小于0或超过五位数的情况。 代码实现 while循环方法 #include <stdio.h> int main() { /...

    不要半途而废,加油!

    判断位数

    题目要求

    程序要读入一个5位以下(含5位)的正整数,然后输出这个整数的位数。如输入:352,输出:3 。

    解题思路

    循环令数字每次/10,即去掉最右边的一位数,一直到结果为0,计算过程中持续计数,程序不考虑输入验证,不考虑输入值小于0或超过五位数的情况

    代码实现

    while循环方法

    #include <stdio.h>
    
    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 <stdio.h>
    
    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循环。

    在这里插入图片描述

    展开全文
  • 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=111+555+333。 #include <stdio.h> int main() { //定义三位数num,个位数sd,十位... //获取三位数字num百位上的数字

    所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=111+555+333。

    #include <stdio.h>
    int main()
    {//所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,
    //如:153就是一个水仙花数,153=1*1*1+5*5*5+3*3*3。
    
        //定义三位数num,个位数sd,十位数td,百位数hd
        int num, sd, td, hd;
        //循环所有三位数
        for(  num=100;   num<1000  ;    num++  )
        {
            //获取三位数字num百位上的数字
            hd =num/100         ;
            //获取三位数字num十位上的数字
            td =(num/10)%10                 ;
            //获取三位数字num个位上的数字
            sd =num%10       ;
            //水仙花数的条件是什么?
            if( num==(hd*hd*hd)+(td*td*td)+(sd*sd*sd)                 ) 
            {
                printf("水仙花数字:%d\n", num);    
            }
        }
        return 0;    
    }  
    

    在这里插入图片描述

    展开全文
  • 程序需求:输入一个整数,将每一位数字输出 ...=10) 中 主要的作用是获取最高位数 power*=10 每执行一次就*10 t/=10 对一个数整除 假如我们输入一个数字: 123 执行完成之后,power 中存储的是100 ...

     程序需求:输入一个整数,将每一位数字输出
      编程思路:将每一位输出来,我们可以先获取这个数的最高权位是多少
      t = number; 将从键盘上获取的数 拷贝一份给t 
      while(t>=10) 中 主要的作用是获取最高位数 power*=10 每执行一次就*10 t/=10 对一个数整除
      假如我们输入一个数字:
      123 执行完成之后,power 中存储的是100 
      我们知道了最高位是百位 那么就可以用/ %获取各个位上的数字
            digit = number/power;
            printf("%d\n",digit);
            number%=power;
            power/=10;

         上面这3句话的作用是将        
         123/100 digit = 1 123%100 = 23  100/10=10              键盘上输出: 1
         23/10  digit = 2  23%10=3  10/10=1                     键盘上输出: 2
         1>=1  3/1 digit = 3 3%1 = 0  1/10 = 0                  键盘上输出: 3
         到此程序不符合条件 跳出程序结束 释放cpu的使用权 释放存储空间

    #include<stdio.h>
    /*
      程序作用:输入一个整数,将每一位数字输出
      编程思路:将每一位输出来,我们可以先获取这个数的最高权位是多少
      t = number; 将从键盘上获取的数 拷贝一份给t 
      while(t>=10) 中 主要的作用是获取最高位数 power*=10 每执行一次就*10 t/=10 对一个数整除
      假如我们输入一个数字:
      123 执行完成之后,power 中存储的是100 
      我们知道了最高位是百位 那么就可以用/ %获取各个位上的数字
    		digit = number/power;
    		printf("%d\n",digit);
    		number%=power;
    		power/=10;
    
         上面这3句话的作用是将        
    	 123/100 digit = 1 123%100 = 23  100/10=10              键盘上输出: 1
    	 23/10  digit = 2  23%10=3  10/10=1                     键盘上输出: 2
    	 1>=1  3/1 digit = 3 3%1 = 0  1/10 = 0                  键盘上输出: 3
    	 到此程序不符合条件 跳出程序结束 释放cpu的使用权 释放存储空间
    **/
    void main(){
    	
    	int digit,number,power,t;
    	printf("enter an integer:");
    	scanf("%d",&number);
    	number = number<0?-number:number;
    	//获取从键盘上输入数的最高位 3456 是1000
    	power = 1;//最高位
    	t = number;
    	while(t>=10){
    		power*=10;
    		t/=10;
    	};
    	//遍历输出从键盘上获取的数据 各个上的位数
    	printf("the digits are:");
    	while(power>=1){
    		digit = number/power;
    		printf("%d\n",digit);
    		number%=power;
    		power/=10;
    	}	
    
    }

     

    展开全文
  • /* 获取int 入参类型的位数 */ int getIntLenth(int n) { int i = 0; if ( 0 == n ) // 特殊入参的处理 { return 1; } while ( 0!= n) { n = n/10 ; i++; } return i; }
  • c语言经典案例

    2014-10-30 08:06:57
    实例059 求各位数之和为5的数 75 第6章 数据输入与输出函数 77 实例060 使用字符函数输入/输出字符 78 实例061 输出相对的最小整数 79 实例062 将小写字母转换为大写字母 80 实例063 水池注水问题 80 实例064 用*号...
  • 基数排序 --c语言

    2020-02-10 12:23:02
    基数排序   基数排序是一种针对于有多个关键字的...获取最大数字位数;     2.将所有数据按照位的值顺序插入到队列中;     3.按照队列的顺序将所有的数据弹出。 c语言代码如下: #include<stdio.h&g...
  • 本篇程序参考代码“获取一个数字各位数的乘积”节选自“C语言解惑课堂”第12篇,更多C语言程序参考代码可微信扫扫文末卡片进入课堂学习! 一、编程要求 要求获取一个数字各位数的乘积,比如输入数字“123”,...
  • 题目要求 编写程序,判断一个整数是否为水仙花数,所谓的水仙花... 然后获取到这个三位数的各个为上的数字 使用/和% 将得到的各个数字(百位,十位,个位)立方,求和,来判断是否和原来的数相等 撸写代码 #include&...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    2.26 一些结构声明中的这些冒号和数字是什么意思? 2.27 为什么人们那么喜欢用显式的掩码和位操作而不直接声明位域? 第3章 表达式 求值顺序 3.1 为什么这样的代码不行?a[i]=i++; 3.2 使用我的编译器,...
  • c语言学习的第四天2

    2016-06-19 19:01:00
    数所占的位数获取,float小数部分最多能有7位有效数字,但绝对能保证的是6位,double小数部分为16位有效数字,但绝对能保证的 是15位 #include<stdio.h> int main() { double x...
  • 主机cpu信息,物理内存信息,虚拟内存信息等)生成6位数字密码字典,生成任意位数符号字典,获取和修改文件各时间信息,获取ie浏览记录,显示最近浏览文件,显示最近运行程序,判断用户密码是否为空以及通过密码字典...
  • 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=111+555+333。 #include<stdio.h> int main() { //定义三位数num,个位数sd,十位数td,百位数hd int num,sd,td,...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    2.26 一些结构声明中的这些冒号和数字是什么意思? 31 2.27 为什么人们那么喜欢用显式的掩码和位操作而不直接声明位域? 32 第3章 表达式 33 求值顺序 33 3.1 为什么这样的代码不行?a[i]= i++; 33 3.2 ...
  • 数码管的接法和驱动原理 一支七段数码管实际由 8 个发光二极管构成, 其中 7 个组形构成数字 8 的七段笔画, 所以称为七段 数码管,而余下的 1 个发光二极管作为小数点。作为习惯,分别给 8 个发光二极管标上记号:...
  • 2.26 一些结构声明中的这些冒号和数字是什么意思? 31 2.27 为什么人们那么喜欢用显式的掩码和位操作而不直接声明位域? 32 第3章 表达式 33 求值顺序 33 3.1 为什么这样的代码不行?a[i]= i++; 33 3.2 ...
  • 这是一道c语言和java基础的时候都会涉及的一道题,先来一个简单容易理解的做法,大概思路就是这个数每次除以10,不等于0就加一位,逆序输出时分不同情况获取每一位数字。 public static void main(String[] args) {...
  • Java开发技术大全(500个源代码).

    热门讨论 2012-12-02 19:55:48
    converseNumber.java 逆向输出数字 daffodilNumber.java 求水仙花数 division.java 演示整除结果 errorCompoundVariable.java 错误使用局部变量示例 factorial.java 求阶乘 Fibonacci.java 求Fiblnacci数列 ...
  • #define NUMMAX 14//最大数字位数 #define TXMAX 100//符号表容量 #define AMAX 2048//地址上界 #define CXMAX 200//最多的虚拟机代码数 #define stacksize 500//运行时数据栈元素最多为500个 #define symnum ...
  • n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...
  • 序列数[last_num]:序列图像总数(2位数,从1开始计数)。 偏移[x]、[y]:图像偏移,单位像素。 起始图像文件 START_FILE 命名规则:*n.??? n: 1-9 或 01-99 或 001-999。 3.增加固定图像的背景色可以透明。 ...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

c语言获取数字位数

c语言 订阅