2015-04-01 78 views
1
int liContador1, liContador2, liElse = 0; 

    for (liContador1 = 1; liContador1 <= liNumeroB; liContador1++) 
    { 
     for (liContador2 = liContador1 + 1; liContador2 <= liNumeroB; liContador2++) 
     { 
      if (NumerosAmigos(liContador1, liContador2)) 
       printf("\n%d, %d", liContador1, liContador2); 

      else 
       liElse++; **or what can i do?** 
     } 
    } 

    if (liElse != 0) 
     printf("\nThe numbers are not friends.\n"); 

我正在製作一個程序來搜索以前友好的數字到給定的值。該程序打印找到的一對號碼,但如果沒有友好號碼對,則需要顯示一條消息。任何想法退出並打印一條消息

問題是,我不能想辦法做到這一點。我試着用BREAK,continiue,會計師..

這就是我試圖:

else 
       liElse++; 

任何人有我該怎麼做任何想法解決這個?

問候和謝謝大家的幫助!

+0

你需要在循環後沒有找到數字?我對嗎? – 2015-04-01 04:30:11

+1

你想計算找到的友好數字的數量(所以當你打印時增加「liElse」)。如果循環後該數字爲零,則打印「數字不是朋友」。請注意,最好在輸出結束時打印換行符,而不是開始。它有助於及時顯示消息,以及其他好處。 – 2015-04-01 04:33:17

+0

感謝Jonathan Leffler,我修復了它。非常感謝!... – 2015-04-01 04:59:53

回答

0

考慮以下代碼,使用一個BOOL var。

int liContador1, liContador2; 
bool bBreak = true; 
for (liContador1 = 1; bBreak && (liContador1 <= liNumeroB); liContador1++) 
{ 
    for (liContador2 = liContador1 + 1; liContador2 <= liNumeroB; liContador2++) 
    { 
     if (NumerosAmigos(liContador1, liContador2)) 
     { 
      printf("\n%d, %d", liContador1, liContador2); 
     } 
     else 
     { 
      bBreak = false; 
      break; 
     } 
    } 
} 

if (!bBreak) 
    printf("\nThe numbers are not friends.\n");