發問時間: 電腦與網際網路程式設計 · 7 年前

急~~~C語言迴圈問題!!怎麼讓結果打出來是1.3.5.7.

各位大大好

我是高中新生

目前在學C語言

但是我不是高職生QQ

所以練習的時間很少

想請問各位大大

有關這個迴圈

/* for 10.c */

#include <stdio.h>

#include <stdlib.h>

int main()

{

int i;

for(i=1; i<=10; i++)

{

printf("i=%2d\n",i);

}

system("PAUSE");

return 0;

}

結果出來是i =1 i =2 i =3.........

那麼,要怎麼讓他結果出來是i =1 i =3 i =5 i =7......

簡單來說就是只印出奇數

麻煩各位大大教教我~

5 個解答

評分
  • 7 年前
    最佳解答

    變成1,2,3的原因是 你沒乘二

    i=1; i<=10; i++ 意思是1,2,3數到10

    printf("i=%2d\n",i); 的意思是照著i印出來

    其中%2d 表示的是印出來的位數 如果你放 %02d 就會是01,02...

    所以 你要像 prisoner大大說的 把 printf("i=%2d\n",i);

    這段改成 printf("i=%2d\n",i*2-1);

    意思是 1帶入 i*2-1=1

    2帶入 i*2-1=3

    3帶入 i*2-1=5...

    就可以輸出你預期的東西了

    初學很容易做出這種錯誤 沒有老師更是難發現問題

    如果有什麼疑惑都盡量來知識問問喔~

  • 7 年前

    for(i=1; i<=10; i++)

    i++ 改成i+2

  • 7 年前

    //還是比較喜歡

    printf("i=%d", 2*i-1);

  • 7 年前

    就把i++改變加二ㄚ

  • 您覺得這個回答如何?您可以登入為回答投票。
  • 匿名使用者
    7 年前

    還是要去 http://aaashops.com/ 品質不錯,老婆很喜歡。

    亮丱呤俹吃云

還有問題?馬上發問,尋求解答。