寒假练习——WERTYU
程序员文章站
2022-06-09 20:18:05
...
题目大意:将输入的字母按键盘上的排列替换为它前面的一个。
AC代码1:
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s1[15]={'\`','1','2','3','4','5','6','7','8','9','0','-','='};
char s2[14]={'Q','W','E','R','T','Y','U','I','O','P','[',']','\\'};
char s3[12]={'A','S','D','F','G','H','J','K','L',';','\''};
char s4[12]={'Z','X','C','V','B','N','M',',','.','/'};
int main()
{
char ch;
int len1=strlen(s1);
int len2=strlen(s2);
int len3=strlen(s3);
int len4=strlen(s4);
while(~scanf("%c",&ch))
{
for(int i=0;i<len1;i++)
if(ch==s1[i])
ch=s1[i-1];
for(int i=0;i<len2;i++)
if(ch==s2[i])
ch=s2[i-1];
for(int i=0;i<len3;i++)
if(ch==s3[i])
ch=s3[i-1];
for(int i=0;i<len4;i++)
if(ch==s4[i])
ch=s4[i-1];
printf("%c",ch);
}
return 0;
}
AC代码2(来自学长):
#include <stdio.h>
char str[]="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;\'ZXCVBNM,./";
int main()
{
char ch;
while((ch=getchar())!=EOF)
{
int i=0;
while(str[i] && str[i]!=ch) i++;
if(str[i])
printf("%c",str[i-1]);
else
printf("%c",ch);
}
return 0;
}
我的代码不够简洁。。。
下一篇: 【算法】WERTYU