| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 953 人关注过本帖
标题:求解释这个倒输出123的c程序,谢谢。
只看楼主 加入收藏
我就是我和你
Rank: 1
等 级:新手上路
帖 子:20
专家分:2
注 册:2013-4-4
结帖率:83.33%
收藏
已结贴  问题点数:12 回复次数:8 
求解释这个倒输出123的c程序,谢谢。
#include <stdio.h>
#include <stdlib.h>
 int main()
 {   
     unsigned int n = 123;  
     while(n)
     {      
         printf("%d", n%10);  
         n/=10;   
    }   
     return 0;
 }
搜索更多相关主题的帖子: 谢谢 include return c程序 
2013-04-19 18:16
第二周杰伦
Rank: 2
等 级:论坛游民
帖 子:55
专家分:20
注 册:2013-3-23
收藏
得分:2 
强烈建议你好好看书!
2013-04-19 18:27
javay
Rank: 2
等 级:论坛游民
帖 子:14
专家分:24
注 册:2013-4-16
收藏
得分:2 
你把数代进去算一下就知道了,你不是不知道,而是懒于思考。
printf("%d", n%10);  
         n/=10;
第一次输出123%10,就是输出3(123%10表示123除以10的余数)
然后,n=123/10, 123/10整除结果为12。再进入下次循环...
第二次输出12%10,就是输出2(12%10表示12除以10的余数)
然后,n=12/10, 12/10整除结果为1。再进入下次循环...
第三次输出1%10,就是输出1(1%10表示1除以10的余数)
然后,n=1/10, 1/10整除结果为0。再进入下次循环...
当n==0时,循环条件为假(非0为真,0为假),终止循环,所出得出321

[ 本帖最后由 javay 于 2013-4-19 20:15 编辑 ]

光动脑还不行,还得动手!
2013-04-19 20:14
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:2 
while(n)
     {      
         printf("%d", n%10);      //这个是输出n%10的余数,也是求个位数的方法
         n/=10;                  //这个是求n的高位
    }   

Maybe
2013-04-19 22:38
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
收藏
得分:2 
楼主还需要努力看书哦
2013-04-19 23:05
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:2 
同意楼上,多努力努力吧!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-04-20 07:59
大秦
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2013-4-19
收藏
得分:2 
#include <stdio.h>

void main()
{
    long int n,reciprocal=1,tolat=0;
    printf("please enter an integer to be tested\n\n");
    scanf("%ld",&n);

    for(int count=0,i=n;i!=0;count++)
        i=i/10;   //为后面的循环体计算出循环次数

    for(;count!=0;--count)
    {
        reciprocal=n%10;//取得排序数字顺序

        n=n/10;        //取得下一次的排序数字

        int two_count=count;//为了不破坏上一个循环的次数,这里重新申明一个循环变量

            while(two_count-1)
            {
                reciprocal*=10;//这个循环为了使最后的结果正确,为得出的那个倒数值计算应该在倒数中相应的位  千、百、十
                --two_count;
            }
            tolat+=reciprocal;//合计倒数和
    }
    printf("\nthe number is%ld\n\n",tolat);//输出倒数

}一般的整数随便你输入
怎么样

想之不做,做之不持,持之不志,欲其退,时欲去
2013-04-20 09:45
我就是我和你
Rank: 1
等 级:新手上路
帖 子:20
专家分:2
注 册:2013-4-4
收藏
得分:0 
祈福雅安

study day day,up up!
2013-04-21 13:21
我就是我和你
Rank: 1
等 级:新手上路
帖 子:20
专家分:2
注 册:2013-4-4
收藏
得分:0 
好好看书,谢谢提醒

study day day,up up!
2013-04-21 13:22
快速回复:求解释这个倒输出123的c程序,谢谢。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030794 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved