如何测试直到满足条件?

时间:2013-05-24 07:42:23

标签: objective-c

我遇到以下算法的问题,应该怎么做才能解决这个问题 如果年份不是闰年,我会输入一年,我需要再次输入,直到键入的年份是闰年。

    int year = 0;        
    BOOL yearC;

    NSLog(@"Enter the year to be tested;");
    scanf ("%i", &year);
    yearC = ((year % 4 == 0 && year % 100 !=0)|| year % 400 == 0);
    if ( yearC  )
             NSLog (@"It's a leap year.");
    else 
    {
        NSLog (@"Nope, it's not a leap year.");
       scanf ("%i", &year);    
    }
}

1 个答案:

答案 0 :(得分:3)

您可以使用while loop,以下代码应该适合您:)

只需设置yearC的起始值然后重复while块,直到yearC设置为YES(是闰年)

BOOL yearC = NO;

while(!yearC){
    NSLog(@"Enter the year to be tested;");
    scanf ("%i", &year);
    yearC = ((year % 4 == 0 && year % 100 !=0)|| year % 400 == 0);
    if ( yearC )
        NSLog (@"It's a leap year.");
    else {
        NSLog (@"Nope, it's not a leap year."); 
    }
}