1,wertyu
把手放在键盘上,稍不注意就会往右错一位。
样例输入:os,gomr ypfsu/
样例输出:i am fine today
每输入一个字符串,都可以直接输出一个字符。用常量数组的话,要好一些:
#include <iostream>
#include <stdio.h>
#include <cstdlib>
using namespace std;
char *s="1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./";
int main()
{
int i, c;
putchar(s[1]);
while ((c=getchar())!=EOF)
{
for(i=1; s[i]!=c; i++);//这里的for循环用的很好
if(s[i])
putchar(s[i-1]);
else putchar(c);
}
return 0;
}
2,如何判断一个双引号是左双引号还是右双引号,方法很简单就是使用一个标志量即可
int c, q=1;
while((c=getchar())!=EOF)
{
if(c=='"')
{
printf("%s", q ? '“' : '"');
//cout<<(q ? "“" : """);
q = !q;
}
else cout<<(char)c;
}
3,判断周期的问题
临时定义变量。
char word[100];
cin>>word;
int len=strlen(word);
for(int i=1; i<len; i++)
{
if(len%i==0)
{
int ok=1;
for(int j=i; j<len; j++)
{
if(word[j]!=word[j%i])
{
ok=0;
break;
}
}
if(ok)
{
cout<<i;
break;
}
}
}