a065. 提款卡密碼 發表於 2024-03-21 更新於 2024-03-31 分類於 程式教學 閱讀次數: 閱讀次數: 題目連結https://zerojudge.tw/ShowProblem?problemid=a065 解題思路根據題意,7個大寫字母之間的「距離」共6個,即為提款卡密碼。我們可以利用ASCII碼將字母轉為對應的數值,進而求出兩字母間的差值,其絕對值即為「距離」。 注意事項本程式碼使用了abs()函式對參數求絕對值。由於abs()函式並非標準函式庫裡的函式,使用前須引用 <math.h> 函式庫。 程式碼:C語言12345678910111213#include <stdio.h>#include <math.h>int main() { //宣告並讀取字元陣列password,代表輸入的7個相連的大寫英文字母 /*注意以字串形式讀取輸入,再存進字元陣列的話,最後一碼會是空字元。 因此若要存的字串有7單位長,宣告的字元陣列長度必須在8單位以上*/ char password[8]; scanf("%s", password); //用for迴圈跑前6個英文字母,輸出他們和下一個英文字母的「距離」,即為提款卡密碼 for(int i = 0 ; i < 6 ; i++) printf("%d", abs(password[i]-password[i+1])); return 0;} 相關文章 a244. 新手訓練 ~ for + if a229. 括號匹配問題 a225. 明明愛排列