1. 程式人生 > >P1055 ISBN號碼

P1055 ISBN號碼

HA str return 識別碼 DC col gets IT right

題目的思路很簡單,先將9個數字求和,然後對11取余,如果余數等於10則識別碼為‘X’
否則為余數,在判斷是不是等於所輸入數字字符串中最後一個數的值;

#include<iostream> #include<bits/stdc++.h> #include<algorithm> using namespace std; int main() { char a[20],t; int sum=0,flag=1; for(int c=0;c<13;c++) { cin>>a[c]; }/*輸入字符串*/
for(int i=0;i<strlen(a)-1;i++) { if(a[i]>=0&&a[i]<=9) { sum+=flag*(a[i]-0); flag++; } }/*求和*/ t=sum%11+0; if(t==10+0) t=X;/*確認識別碼*/
/*判斷是否相等*/

if(t==a[12] { cout<<"Right"; } else { for
(int j=0;j<strlen(a)-1;j++) { cout<<a[j]; } cout<<t; } return 0; }

這道題之所以寫是因為我剛開始輸入數組用的是gets,為什麽錯了呢,因為題目中已經規定了字符串的格式了。

P1055 ISBN號碼