高手帮忙解释程序

isabela0528 2003-09-14 11:16:22
#include"stdio.h"
main()
{
int m,s,k,cn;
cn=0;
for(m=100;m<1000;m++)
{
s=0;
k=m;
while(k!=0)
{s=s+k%10;
k=k/10;
}
if(s!=11)
continue;
else
cn+1;
printf("%d",cn)
}

我在考试时遇到这样一道题,统计100--1000之间有多少个数其各位数学之和是11。由于我的数学太差,理解能力也不怎样,所以看半天都看不懂,希望各位能帮忙指点一下,小妹感觉不尽
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlxyeah 2003-09-14
  • 打赏
  • 举报
回复
while(k!=0)
{s=s+k%10;
k=k/10;
}
这段代码是求各位数字之和的
njSeeWhy 2003-09-14
  • 打赏
  • 举报
回复
k%10就是取出k的个位数字,比如13%10就是3。k/10就是把k的个位略去,然后除以十的结果,比如234/10就是23。所以

s=s+k%10;
k=k/10;

这两句就是依次取出k的每一位数字,并把它们累加到s上,然后判断s是否等于11,如果是,就cn加一,表示找到了一个符合要求的数,如果不等于11就continue,直接进入下一次循环,判断下一个数是否符合要求。
fireseed 2003-09-14
  • 打赏
  • 举报
回复
s就是第几位的值

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧