黑马程序员技术交流社区

标题: 如何获取一个未知数的各个位的值 [打印本页]

作者: hit_zhangjian    时间: 2016-3-16 16:42
标题: 如何获取一个未知数的各个位的值
如何获取一个未知数的各个位的值,通过字符串还是通过取余数了?
作者: jacku    时间: 2016-3-16 19:23
取余数算法吧
作者: hit_zhangjian    时间: 2016-3-17 21:39
未知数,不知道有多少位?如何取余数了?取10的余数才能得到个位上的数,而取十位上的数需要先取100得余数再除10以此类推,如果不知道一个数多少位,如何取余数.
作者: 冷傲阳    时间: 2016-3-17 21:57
先判断这个值是不是为0,如果不为0则%10,然后取的数存入数组,然后/10,再判断,再取出值存入数组,这样可以依次得到各个位上的数。
作者: 零下一摄氏度    时间: 2016-3-17 22:36
冷傲阳 发表于 2016-3-17 21:57
先判断这个值是不是为0,如果不为0则%10,然后取的数存入数组,然后/10,再判断,再取出值存入数组,这样可 ...

66666666666666
作者: 叫我超哥    时间: 2016-3-17 23:38
路过,发现不懂
作者: huangxiaokun    时间: 2016-3-17 23:57
8888888888888888888888
作者: 泡泡鱼    时间: 2016-3-18 02:01
看不懂系列~~~~~~~~~~~~~~~~~~~~~~收藏了吧~
作者: 15527933998    时间: 2016-3-18 09:03
可以先把这个未知长度的数的长度算出来
int n,ln;
int i=0;
scant("%d",&n);
while(n>1||n<-1)
{
n=n/10;
i++
}
ln=i+1;
ln就是未知数的位数
作者: hit_zhangjian    时间: 2016-3-23 22:12
2楼的方法是对的,用个死循环,等除10的结果为0后,就退出.
作者: 332439409    时间: 2016-3-23 23:31
取余吧....感觉很容易实现啊  基础班在循环的时候有将过的啊
作者: 大彬周    时间: 2016-3-23 23:53
好好学习!加油
作者: hit_zhangjian    时间: 2016-3-24 21:58
好好学习!天天向上!
作者: hit_zhangjian    时间: 2016-3-25 20:03
努力学习,不忘初心!
作者: hit_zhangjian    时间: 2016-3-26 23:16
将来的自己会感激现在努力的自己;我现在真是什么打击都承受了,我相信5个月后我会成功,我要变得更坚强.
作者: hit_zhangjian    时间: 2016-3-27 21:32
加油!加油!加油!
作者: Zhangqi27    时间: 2016-3-28 21:19
乘除运算符就OK
作者: hit_zhangjian    时间: 2016-3-28 23:52
你是最棒的!加油!
作者: 彼岸花开    时间: 2016-3-29 00:43
谢谢亲的分享哦~
作者: hit_zhangjian    时间: 2016-3-29 21:31
C语言快学完了,继续加油!
作者: tdwydan1    时间: 2016-3-30 19:16
取余数就好了啊,当然得知道是几位数的
作者: hit_zhangjian    时间: 2016-3-30 22:59
快考试了,加油,安心学习
作者: hit_zhangjian    时间: 2016-4-2 23:17
加油!加油!别被别的事分心!
作者: hit_zhangjian    时间: 2016-4-3 19:58
加油!加油!开始学习OC了,继续学习C语言的状态!加油!
作者: x_starry    时间: 2016-4-3 20:37
如图,仅供参考

Snip20160403_1.png (75.44 KB, 下载次数: 44)

Snip20160403_1.png

作者: hit_zhangjian    时间: 2016-4-17 23:35
还有4天点招考试,加油,加油!一次过!
作者: leo_yang    时间: 2016-4-25 21:46
嘿嘿嘿嘿嘿嘿
作者: 叶子哥    时间: 2016-4-25 23:12
  1. //  Copyright © 2016年 yaomars. All rights reserved.
  2. //

  3. #include <stdio.h>


  4. int main(int argc, const char * argv[]) {
  5.    
  6.     printf("请输入一个整数:\n");
  7.     int num = 0,value;
  8.     scanf("%d",&num);
  9.    
  10.     if (num <= 9) {
  11.         printf("value = %d\n",num);
  12.     }
  13.    
  14.     while (num / 10) {
  15.         
  16.         value = num % 10;
  17.         printf("value = %d\n",value);
  18.         num /= 10;
  19.         
  20.         if (num <= 9) {
  21.             printf("value = %d\n",num);
  22.             break;
  23.         }

  24.     }
  25.    
  26.     return 0;
  27. }
复制代码


经测试   无误!!
作者: 血雨ky    时间: 2019-11-21 20:46
hit_zhangjian 发表于 2016-3-23 22:12
2楼的方法是对的,用个死循环,等除10的结果为0后,就退出.

while(这个数>0)
{
      ......
}//..............................................................




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2