2015-08-15 67 views
-1

如何通過打印奇數(1 - > 10) - while?如何打印奇數(1 - > 10) - 而

我的代碼:http://codepad.org/yS6DNq8Y

#include <stdio.h> 
#include <conio.h> 
int i; 
void Dayso() 
{ 

    do 
    { 
     i = 1 
     i++; 
     if (i % 2 == 0) 
     { 
      continue; 
     } 
     printf ("\n%d",i); 

    }while (i <= 10); 

} 

int main() 
{ 
    Dayso(); 
    getch(); 
    return 0; 
} 

和輸出:

Line 18: error: conio.h: No such file or directory 
In function 'Dayso': 
Line 10: error: expected ';' before 'i' 

我該如何解決這個問題?

+2

錯誤消息是清楚的方式:開始添加';'在行9.關於錯誤'18線的端部:錯誤:CONIO.H:沒有這樣的文件或目錄,[這可能會幫助你] http://stackoverflow.com/questions/8792317/why-cant-i-find-conio-h-on-linux)。 –

+1

在循環體中完成的第一件事是什麼(並因此完成每個循環)?爲什麼這是個問題)? – user2864740

+0

將'i = 1'移至外部作用域併爲其添加分號。 –

回答

2

編譯錯誤:

  1. Linux中有沒有機器conio.h頭文件。您可以在該程序中刪除getch()功能。
  2. 您在一行缺少分號9.

的邏輯錯誤:

  1. 您分配上每隔1〜i變量(9號線),所以你剛纔創建的無限循環,同時反覆做。將循環外的賦值移至1。
  2. 您在ods中缺少1個,而在當前實現中缺少11個。

更正溶液: http://ideone.com/IB3200

#include <stdio.h> 

void Dayso() 
{ 
    int i = 1; 
    do 
    { 
     if (i % 2 != 0) { 
      printf ("\n%d",i); 
     } 

     i++; 
    } while (i <= 10); 

} 

int main() 
{ 
    Dayso(); 
    return 0; 
}