程式難題誰可以幫我看一下
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 52 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
密碼輸入正確,歡迎使用!請按任意鍵繼續 . . .
參考資料: 自己 - 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;
}