- UID
- 565
- 积分
- 44648
- 声望
- 点
- 精华
- 注册时间
- 2009-1-18
- 听众
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
发表于 2011-6-13 02:41:32
|
显示全部楼层
本帖最后由 撒旦 于 2011-6-13 03:31 编辑
main()
{ long int m9=9,sum=9; “定语长整型m9=9 sum=9”
int zi,n1=1,c9=1; “定语zi,n1=1,c9=1“
scanf("%d",&zi); "输入zi数值 需要手动输入"
while(n1!=0) while语句 只要n1不等于0就执行下面语句 否则跳出循环
{ if(!(sum%zi)) sum除于zi余数取反为真 就是说sum除于zi余数为0则执行下条n1=0;
n1=0;
else 否则(sum除于zi余数不为0),则执行下面的语句
{m9=m9*10; m9=m9*10
sum=sum+m9; sum=sum+m9
c9++; c9累加1,再循环
}
}
printf("%ld,can be divided by %d \"9\"",sum,c9); 显示sum,c9最后得数
}
在这个while语句里总条件是n1不等于0,就可以继续执行下面的语句,但是下面语句在执行中造成n1等于0就结束
所以可以这么理解这个语句
手动输入zi数值 假设我输入2
n1=1,所以继续执行下面的,
sum除于zi=9/2余数为7不等于0
所以不执行n1=0语句
而是跳入执行m9=m9*10=9*10=90
sum=sum+m9=9+90=99
c9++累加1为2
此时结束一个循环 再从if语句进行验证
sum除于zi=99/2余数为1不等于0
所以不执行n1=0语句
而是跳入执行m9=m9*10=90*10=900
sum=sum+m9=99+900=999
c9++累加1为3
以此类推
直到最后执行sum除于zi余数为0是则执行n1=0语句,这样满足while语句条件跳出while循环
最后的语句是显示通过循环后得到的sum,c9数字 其实c9实际就是循环的次数
|
|