有關C的問題 - iPhone4.TW

會員登入



顯示結果從 1 到 8 共計 8 條
  1. #1
    qweefb 的頭像

    超熱血的愛用者

    註冊日期:02-03-2008
    文章:1,090
    謝謝你: 0
    在 9篇文章中獲得 11個感謝
    最近開始研究C,所以上網找了些練習,

    一道問題想了很久也想不到,

    http://dhcp.tcgs.tc.edu.tw/c/p006.htm

    想請各大大教一教我,感謝!!

    不明的部份:

    三、練習:
    ....................
    改良上述程式,讓每次出現的數字範圍,會隨著我們輸入的數字而改變,例如(粉紅色代表輸出,淺藍色則是輸入的值):
    1. 1 - 100 => 50
    Too Big!
    2. 1 - 50 => 30
    Too Small!
    3. 30 - 50 =>
    這要怎寫啊??
    此篇文章於 08-01-2008 14:29 被 qweefb 編輯。


  2. #2
    kkyy00066 的頭像

    熱血的愛用者

    註冊日期:05-21-2008
    文章:225
    謝謝你: 0
    在 0篇文章中獲得 0個感謝
    上面那個題目是"終極密碼"嗎??



    ------

    結果我自己看了你網頁的說明後..發現我太天真..
    所以我也要問這題答案了= ="~太弱了我...
    ------
    殘念~~~~~~~~~
    此篇文章於 08-01-2008 16:48 被 kkyy00066 編輯。


  3. #3
    qweefb 的頭像

    超熱血的愛用者

    註冊日期:02-03-2008
    文章:1,090
    謝謝你: 0
    在 9篇文章中獲得 11個感謝
    為什麼說這是“終極密碼”?
    這個是很難的嗎?


  4. #4
    kkyy00066 的頭像

    熱血的愛用者

    註冊日期:05-21-2008
    文章:225
    謝謝你: 0
    在 0篇文章中獲得 0個感謝
    引用 作者: qweefb 查看文章
    為什麼說這是“終極密碼”?
    這個是很難的嗎?
    就是遊戲的"終極密碼"~

    範圍是1~100

    你說:50

    結果變成1~50 這是太大

    如果你說:30

    結果變成30~100 這是太小

    我是這樣想啦!

    結果去找一下別人研究的寫法

    發現要改成你那個...我自己都有問題


    實在是要加強了我...

    ----已下提供遊戲的寫法BY 搖滾小花----
    #include<iostream>
    #include<ctime>
    #include<cstdlib>
    using namespace std;
    int main()
    {int num,num2=0,m=0,n,b=-1,h;
    char a;
    srand((unsigned)time(NULL));
    do
    {
    cout<<"終極密碼"<<endl;
    cout<<"==================="<<endl;
    cout<<"請輸入數字範圍:";
    cin>>h;
    n=h;
    num=(int)rand()%h;
    while(num!=num2)
    {cout<<"請輸入號碼:"<<endl;
    while(b==-1)
    {
    cin>>num2;
    if(num2<m+1||num2>n-1)
    {
    cout<<"輸入值有錯,請從新輸入!";
    b=-1;
    }
    else
    {
    b=1;
    }
    }
    if(num2>num)
    {cout<<m<<"~"<<num2<<"\ttoo big!!"<<endl;
    n=num2;
    b=-1;
    }
    else
    {if(num2<num)
    {cout<<num2<<"~"<<n<<"\ttoo small!!"<<endl;
    m=num2;
    b=-1;
    }
    }
    }
    cout<<"炸彈爆炸了!!"<<endl;
    m=0,n=h,b=-1;
    cout<<"還要繼續嗎(y/n)?";
    cin>>a;
    cout<<"==================="<<endl;
    }while(a=='y');
    return 0;
    }
    ----你可以試試用VC編譯看看----


  5. #5
    qweefb 的頭像

    超熱血的愛用者

    註冊日期:02-03-2008
    文章:1,090
    謝謝你: 0
    在 9篇文章中獲得 11個感謝
    你這個是什麼語言??

    還有其他大大可以解答嗎??

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    main()
    {
    int a, b, c;
    srand(time(NULL));
    a=(rand()%100)+1;
    b=0;
    c=0;
    while(a!=b) {
    c=c+1;
    printf("%d. 1 - 100 =>", c);
    scanf("%d", &b);
    if(b==0) break;
    if(b>a) printf("Too Big!\n");
    if(b<a) printf("Too Small!\n");
    if(c>5) break;
    }
    if(b==a)printf("Bingo! You Spend %d times.\n", c);
    else printf("Lose. =v=");
    return 0;
    }

    我只改了這麼
    此篇文章於 08-01-2008 16:59 被 qweefb 編輯。


  6. #6

    熱血的愛用者

    註冊日期:11-07-2007
    文章:465
    謝謝你: 1
    在 1篇文章中獲得 1個感謝
    這不難吧,假如預設的範圍是x-y,答案是z,輸入的數字是w

    if (w > z) { // too big
    y = w;
    }
    else{ // too small
    x= w;
    }

    我只是寫個概念,語法等問題有錯請不要太在意,看的懂就好 :P


  7. #7
    qweefb 的頭像

    超熱血的愛用者

    註冊日期:02-03-2008
    文章:1,090
    謝謝你: 0
    在 9篇文章中獲得 11個感謝
    啊!你的意思是把x和y,分替一和一百嗎?
    這個我也想過,不過我未繼續想下去,
    謝謝你,晚點回家試一下


  8. #8
    kkyy00066 的頭像

    熱血的愛用者

    註冊日期:05-21-2008
    文章:225
    謝謝你: 0
    在 0篇文章中獲得 0個感謝
    我的是C++語言!

    是C進化版~

    要學的話還建議學個C++比較方便呢!


 

 

發文規則

  • 不可以發表新主題
  • 不可以發表回覆
  • 不可以上傳附件
  • 不可以編輯自己的文章
  •  
回到此頁頂端