小鑫の日常系列故事(七)——小紙條
阿新 • • 發佈:2018-12-19
Problem Description 小鑫在高中的時候喜歡上了一個十分漂亮的女孩。那個女孩也很喜歡他,就答應成為他的女朋友。 但是大家都知道高中的生活是忙碌的,除了上課就是上課,有時候可能連課間時間都被老師佔用。於是小鑫想出了在上課給女朋友傳紙條的方法來表達自己的愛慕。 又但是她與小鑫之間的距離太遠,中間必須通過同學來傳遞紙條。可他們並不想讓同學們知道寫的什麼就想到加密紙條這種方法。方法如下: 他們每天都會約定加密常數n,舉個例子,當n=1時,今天寫的每一句話中所用的字母都會向後+1,比如:i love you就成了j mpwf zpv ,當然了當是z的時候,+1就等於a。 請你幫他女朋友解密他寫的紙條麼? Input 輸入為多組,每組為兩行。 第一行為n,-50<n<50 第二行為一句話,只有小寫字母和空格。長度小於10000 Output 輸出解密之後的內容 Sample Input 1 j mpwf zpv Sample Output i love you
程式碼:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char a[10009],ch; int n,i,len,m,k; while(~scanf("%d",&n)) { ch=getchar(); gets(a); k=n%26; len=strlen(a); printf("%c\n",ch); for(i=0;i<len;i++) { if(a[i]!=' ') { m=a[i]-k; if(m>122) { a[i]=97-1+(m-122); } else if(m<97) { a[i]=122+1-(97-m); } else a[i]=m; } } printf("%s",a); printf("\n"); } return 0; }
putchar的妙用:putchar可以在鍵盤上讀取一個字元,在這裡是吸收緩衝區的回車的作用, 比如在這裡scanf()和gets()函式之間會有一個回車的符號, 這樣在你點回車的時候,putchar會認為你把回車的符號給了他,然後就不顯示了