标题:程序看不懂,求解释!
只看楼主
靠谱的白蓝
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:55
专家分:189
注 册:2013-12-11
结帖率:71.43%
已结贴  问题点数:20 回复次数:6 
程序看不懂,求解释!
一个逆顺序输出的问题:
#include<stdio.h>
#include<stdlib.h>
int main()
{
 int n,i,m,converse;
 scanf("%d",&n);
 i=n;converse=0;
 while(i>0)
  {
        m=i%10;//
        i/=10;//
        converse=m+converse*10;//这三个看不懂!!!
  }
 printf("%d",converse);

}
搜索更多相关主题的帖子: converse include 
2014-04-04 16:46
Mr_五一
Rank: 2
等 级:论坛游民
帖 子:3
专家分:12
注 册:2014-4-4
得分:5 
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,m,converse;
scanf("%d",&n);
i=n;converse=0;
//比如i= 123,第一次循环:m=i%10 得到m=3 ,i/=10得到i= 12 ,converse=m+converse*10将m=3带入进去得到converse=3(converse是为了保存得到的逆序后的三位数)
//第二次循环:m=i%10 得到m=2 ,i/=10得到i= 1 ,converse=m+converse*10将m=2带入进去得到converse=32
//第三次循环:m=i%10 得到m=1 ,i/=10得到i= 0 ,converse=m+converse*10将m=1带入进去得到converse=321
while(i>0)
  {
        m=i%10; //m 是余数(i/10的余数)
        i/=10;//这是控制i的位数
        converse=m+converse*10;//这三个看不懂!!!
  }
printf("%d",converse);

}
2014-04-04 17:02
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
得分:5 
既然i=n,为什么还需要n呢?这不是多此一举。

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 17:23
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
得分:0 
修改了下程序,加了些注释,不好地方请指教
程序代码:
#include<stdio.h>
int main()
{
int i,m,converse;
scanf("%d",&i);
converse=0;
while(i>0)//如果输入的数,也即是i>0,执行循环
  {
        m=i%10;//求出i/10的余数,且赋给m
        i/=10;//i的位数<=10,也即是输入的数不能超过10位(即2楼说的控制i的位数,否则程序报错返回0)
        converse=m+converse*10;//converse用来保存逆序后的数,因第一次循环converse=0,所以第一次converse的值=i%10,也即m的值
  }
printf("%d",converse);//输出逆序后的数

} 

因为有你,所以做什么都有动力。z,爱你。
2014-04-04 17:35
chqwhlily
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2011-5-11
得分:5 
m=i%10;//取输入数的最后一位
 i/=10;//取输入数的前几位
 converse=m+converse*10;//将几位数重新排列
2014-04-04 22:35
ansonzxy
Rank: 2
等 级:论坛游民
帖 子:15
专家分:42
注 册:2014-3-30
得分:5 
就是这样的。
程序是利用 / 取模 和 %取余数 来把一个n位数的每一位进行解析,然后 本来是高位乘的权重大,现在变成低位啦
2014-04-05 07:57
靠谱的白蓝
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:55
专家分:189
注 册:2013-12-11
得分:0 
多谢!
2014-04-08 13:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429693-1-1.html




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

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