break的用法

问题:两数和为316,其中一个数为13的倍数,另一个为11的倍数,求这两个数。
#include <stdio.h>
main()
{
    int i;
    for(i=1;i<316;i++)
        if(!((316-i*13)%11))       break;  /*该处的条件相当于(316-i*13)%11==0 */
    printf(“%d,%dn”,i*13,316-i*13);
}
上面的表达式是只求得第一次满足条件的就跳出。如果要求出所有的值,可以用下面的表达式;当然也可以用上面的表达式,去掉break,再加一个判断(316-i*13)的结果要大于0的条件
#include <stdio.h>
#define n (316-i*13)
main()
{
    int i;
    for(i=1;i<316;i++)
        if(n%11==0&&n>0)
    printf(“%d,%dn”,i*13,316-i*13);
}

发表评论

您的电子邮箱地址不会被公开。