如何用do - while打印奇数(1 - > 10)

时间:2015-08-15 07:05:40

标签: c loops while-loop numbers

如何通过do - 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'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

编译错误:

  1. Linux机器中没有conio.h头文件。您可以在此程序中删除getch()功能。
  2. 第9行中缺少分号。
  3. 逻辑错误:

    1. 您在每次迭代时都为i变量(9行)分配1,因此您刚刚创建了无限循环。将赋值移到循环外的1。
    2. 你在ods中缺少1,在当前实现中打印了11。
    3. 更正后的解决方案: 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;
      }