匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 2 0 年前

程式難題誰可以幫我看一下

1、請撰寫程式驗證輸入的密碼(四位整數)輸入三次不正確就輸出錯誤訊息。利用for敘述來撰寫,並滿足下列的條件:

(a)如果密碼不對會出現”密碼錯誤請重新輸入密碼”。

(b)如果三次密碼都不對會出現”密碼錯誤超過3次!”然後結束程式。

(c)如果輸入正確則印出”密碼輸入正確,歡迎使用!”

我做這樣.....還是錯 怎改....謝謝

#include<stdio.h>

#include<stdlib.h>

int main(void)

{

int x,password,enpassword; /* x為密碼輸入次數 password為數入密碼 enpassword為驗證密碼 */

printf(\"請輸入密碼<四位整數>:\");

scanf(\"%d\",&password);

for(x=1;x<=3;x++) /* 輸入3次*/

{

printf(\"確認密碼:\");

scanf(\"%d\",&enpassword);

if(password==enpassword)

printf(\"密碼輸入正確,歡迎使用!\");

else{

printf(\"密碼錯誤!\\n\");

printf(\"請再輸入一次!\\n\");

scanf(\"%d\",&enpassword);

x++; }

}

}

system(\"pause\");

return 0;

}

3 個解答

評分
  • ?
    Lv 5
    2 0 年前
    最佳解答

    樓上的...先生輸出的畫面如下

    請輸入密碼<四位整數>:1234

    確認密碼:3332

    密碼錯誤!

    請再輸入一次!

    確認密碼:3332

    密碼錯誤!

    請再輸入一次!

    確認密碼:3332

    密碼錯誤!

    請再輸入一次!

    請按任意鍵繼續 . . .

    與如果三次密碼都不對會出現”密碼錯誤超過3次!”然後結束程式。的題意不符!

    我修正為下

    #include<stdio.h>

    #include<stdlib.h>

    int main(void)

    {

    int x,y=0,password,enpassword; /* x為密碼輸入次數 password為數入密碼 enpassword為驗證密碼 */

    printf("請輸入密碼<四位整數>:");

    scanf("%d",&password);

    printf("確認密碼:");

    scanf("%d",&enpassword);

    for(x=1;x<=3;x++) /* 輸入3次*/

    {

    if(password==enpassword)

    {

    printf("密碼輸入正確,歡迎使用!");

    break;

    }

    else

    {

    if(y==2)

    {

    printf("密碼錯誤超過3次!\n");

    }

    else

    {

    printf("密碼錯誤!\n");

    printf("請再輸入一次!\n");

    scanf("%d",&enpassword);

    y++;

    }

    }

    }

    system("pause");

    return 0;

    }

    顯示畫面1如下

    請輸入密碼<四位整數>:1234

    確認密碼:1234

    密碼輸入正確,歡迎使用!請按任意鍵繼續 . . .

    顯示畫面2如下

    請輸入密碼<四位整數>:1234

    確認密碼:1111

    密碼錯誤!

    請再輸入一次!

    1111

    密碼錯誤!

    請再輸入一次!

    1111

    密碼錯誤超過3次!

    請按任意鍵繼續 . . .

    顯示畫面3如下

    請輸入密碼<四位整數>:1234

    確認密碼:1111

    密碼錯誤!

    請再輸入一次!

    3333

    密碼錯誤!

    請再輸入一次!

    1234

    密碼輸入正確,歡迎使用!請按任意鍵繼續 . . .

    參考資料: 自己
  • adam!
    Lv 5
    2 0 年前

    你多了一個[ } ] token 喔,在else下面

  • 2 0 年前

    #include<stdio.h>

    #include<stdlib.h>

    int main(void)

    {

    int x,password,enpassword; /* x為密碼輸入次數 password為數入密碼 enpassword為驗證密碼 */

    printf("請輸入密碼<四位整數>:");

    scanf("%d",&password);

    for(x=1;x<=3;x++) /* 輸入3次*/

    {

    printf("確認密碼:");

    scanf("%d",&enpassword);

    if(password==enpassword)

    {

    printf("密碼輸入正確,歡迎使用!");

    break;

    }

    else{

    printf("密碼錯誤!\n");

    printf("請再輸入一次!\n");

    }

    }

    system("pause");

    return 0;

    }

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