WERTYU | TEX Quotes

 1 #include <iostream>
 2 
 3     using namespace std;
 4 
 5     int main() {   char
 6     *s="`1234567890-=qwertyuiop[]asdfghjkl;'\zxcvbnm,./";//建立一个字符串常量   int i;   char c;   while ((c=getchar())!=EOF)   {
 7           for(i=1;s[i]&&s[i]!=c;i++);//'\0'的ASCI码为零,只需循环到C即可
 8           if (s[i])//如果没有循环到字符串末尾
 9             putchar(s[i-1]);
10           else//其他字符原样输出
11             putchar(c);   } }

题目源地址

 1 #include <iostream>
 2 #include <iomanip>
 3 #include <string.h>
 4 #include <stdio.h>
 5 #include <stdlib.h>
 6 //
 7 using namespace std;
 8 
 9 int main()
10 {
11   char c;
12   int k=1;
13   while ((c=getchar())!=-1)//每个字符单独输入
14   {
15      if (c=='"')
16      {
17          printf("%c",k?'``':'"');
18          //利用条件判断语句,1时输左边,0时输右边,每次K翻转
19          k=!k;
20      }
21 
22      else
23         cout<<c;
24   }
25 }

 

5.1.3
周期串
如果一个字符串可以由某个长度为k的字符串重复多次得到,则该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也以6和12为周期)。输入一个长度不超过80的串,输出它的最小周期。

样例输入:HoHoHo
样例输出:2

 1 #include <iostream>
 2 #include <iomanip>
 3 #include <string.h>
 4 #include <stdio.h>
 5 #include <stdlib.h>
 6 //
 7 using namespace std;
 8 
 9 int main()
10 {
11   char s[1000];
12   int i,j,flag;
13   while (cin>>s)
14   {
15       for (i=1;i<=strlen(s);i++)
16       {
17           //I代表周期的所有可能值,这里要遍历所有可能周期值
18           flag=1;
19           for (j=i;j<strlen(s);j++)
20           {
21               if (s[j]!=s[j%i])
22               {
23                   flag=0;
24                   break;
25                   //从第二个潜在周期开始寻找,如果对应位置不等旗帜变为0
26               }
27 
28           }
29           if (flag)
30               {
31                   cout<<i<<endl;
32                   break;
33               }
34       }
35   }
36 }

 

 

posted @ 2018-08-14 17:47  暴走的二萌  阅读(182)  评论(0编辑  收藏  举报