1 条题解
-
0
C :
#include<stdio.h> #include<string.h> char judge(char a,int n) { if(a>='a'&&a<='z') { if(a-n>='a') return a-n; else { if(a-n%26>='a') return a-n%26; else return 'z'-('a'-(a-n%26))+1; } } else if(a>='A'&&a<='Z') { if(a-n>='A') return a-n; else { if(a-n%26>='A') return a-n%26; else return 'Z'-('A'-(a-n%26))+1; } } else return a; } main() { char ch[1024],tmp; int n,i; while(gets(ch)!=NULL) { if(ch[0]=='E'&&ch[1]=='N'&&ch[2]=='D'&&strlen(ch)==3) break; scanf("%d",&n); getchar(); for(i=0;i<strlen(ch);i++) ch[i]=judge(ch[i],n); printf("%s\n\n",ch); } }
C++ :
#include <iostream> #include <string> using namespace std; void Dn(string & , int ); int main() { string str; string end = "END"; int move; while (1){ getline(cin, str); if (str == end) break; cin >> move; cin.get(); Dn(str, move); cout << str << endl << endl; } } void Dn(string & str, int move){ int len = str.size(); if (len > 1000) len = 1000; move %= 26; for (int i = 0; i < len; i++){ char c = str[i]; if ( c >= 'a' && c <= 'z' ){ c -= move; if (c < 97) c = 122 - (96 - c); } if ( c >= 'A' && c <= 'Z' ){ c -= move; if (c < 65) c = 90 - (64 - c); } str[i] = c; } }
- 1
信息
- ID
- 1412
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者