人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

C的一段程序如果输入两位或两位以上的数(假设位数为n)把这个数的后n-1位输出例如输入123输出23..unsignedt,s=0,s1=1,p=0;t=m;while(tgt;10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}returns;我承认这段程序

[复制链接]

问题:C的一段程序如果输入两位或两位以上的数(假设位数为n)把这个数的后n-1位输出例如输入123输出23..unsignedt,s=0,s1=1,p=0;t=m;while(tgt;10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}returns;我承认这段程序

答案:↓↓↓

网友采纳  思路:  t=m(估计m你定义的是输入的那个数,拿123举例吧)  while(t>10),如果t100  if(123/10)即if(12),条件真  则执行下面的p=t%10;p=123%10=3  s=3*1=3//这是各位数字  s1=10  t=t/10(t=12)  -----------------------  if(12/10)为真  p=12%10=2  s=3+10*2  t=t/10=1  ---------------------  循环结束  返回s结果23  p是每一位的数字,s1是位数的系数(十位10、百位100)  123=1*100+2*10+3*1(其中1、10、100就是s1的意义)  注意if(t/10)执行后t的值并没有改变
回复

使用道具 举报

小黑屋/人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

Powered by 5wangxiao

© 2007-2021 5wangxiao.Com Inc.

快速回复 返回顶部 返回列表