c语言谁可以讲解一下啊

 我来答
cudagreenhand
2012-12-13
知道答主
回答量:12
采纳率:0%
帮助的人:8.1万
展开全部
void main()
{
long s = 87653142 , k , m = 0,t= 0 ;
while(s>0)
{
k = s%10; // s%10 取余,k 表示s%10的余数
if (k%2==0) m = m*10+k ; // 判断余数k是否为偶数,是的话存放在m里
s = s/10; // s/10 取整
} // 把s中所有的偶数取出来存放在m里,此时所有偶数在m中相对于原来的顺序是逆序的
while(m>0)
{
t = t*10+m%10;
m = m/10;
} // 把m中的偶数逆序存放在t 里
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uliaxingn
2012-12-13 · 超过23用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:59.8万
展开全部
k=s%10 // 循环下 k的值依次得到 2 ,4 ,1 ,3 ,5, 6, 7 ,8 就是取余得到各位数码进行判断
if(k%2==0)判断是否偶数
m=m*10+k //记录偶数的数码,,循环下m的值依次为 2 ,24 ,246, 2468
第三空(m>0)如果m不为零
这个循环是为了将m里面的倒序的数字倒过来,t的值循环下依次为8,86,864,8642
因此得到最后的答案

这个题目你只要理解了循环和%这个操作符的含义就行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
blackingdo
2012-12-13 · 超过21用户采纳过TA的回答
知道答主
回答量:263
采纳率:0%
帮助的人:102万
展开全部
百度一下,有很多,也可以找我帮助你学习,但不免费的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jcnenglish
2012-12-13 · TA获得超过651个赞
知道小有建树答主
回答量:572
采纳率:0%
帮助的人:456万
展开全部
空1:k%2==0
空2:s/10

空3:m>0
追问
为什么啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-12-13
展开全部
if(k%2==0)
s=s/10;

while(m>0);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式