首页 > 其他 > 详细

POJ1298-字符串转换-水题

时间:2020-05-19 21:02:48      阅读:43      评论:0      收藏:0      [点我收藏+]

题意:

转换字母,水题。

 

这些题目代码一样,直接用就行。

POJ1298、HDU1048、OpenJ_Bailian1298、ZOJ1392、UVALive2540。

(注意:后两个OJ不能用gets,用  getline(cin,s)   读入字符串string即可。)

 

gets读入AC代码:

技术分享图片
 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<map>
 4 #include<algorithm>
 5 #include<queue>
 6 #include<stack>
 7 #include<cmath>
 8 #include<string.h>
 9 
10 using namespace std;
11 #define men(p,b) memset(p,b,sizeof(p))
12 #define inf 0x3f3f3f3f
13 typedef long long ll;
14 
15 char s[110];
16 
17 int main()
18 {
19     while(~scanf("%s",s))
20     {
21         if(!strcmp("ENDOFINPUT",s))
22             break;
23         getchar();
24         gets(s);
25         int len=strlen(s);
26         for(int i=0;i<len;i++)
27         {
28             if(s[i]<A||s[i]>Z)
29                 continue;
30             s[i]-=5;
31             if(s[i]<A)//<0
32                 s[i]+=26;
33         }
34         printf("%s\n",s);
35         scanf("%s",s);
36         //gets(s);
37     }
38     return 0;
39 }
View Code

 

getline读入AC代码:

技术分享图片
 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<map>
 4 #include<algorithm>
 5 #include<queue>
 6 #include<stack>
 7 #include<cmath>
 8 #include<string.h>
 9 
10 using namespace std;
11 #define men(p,b) memset(p,b,sizeof(p))
12 #define inf 0x3f3f3f3f
13 typedef long long ll;
14 
15 
16 int main()
17 {
18     string s;
19     while(getline(cin,s))
20     {
21         if(s=="ENDOFINPUT")
22             break;
23         //getchar();
24         getline(cin,s);
25         int len=s.length();
26         for(int i=0;i<len;i++)
27         {
28             if(s[i]<A||s[i]>Z)
29                 continue;
30             s[i]-=5;
31             if(s[i]<A)//<0
32                 s[i]+=26;
33         }
34         cout<<s<<endl;
35         getline(cin,s);
36     }
37     return 0;
38 }
View Code

 

注意:

getline接受空格,cin遇到空格会终止;

getline和gets在回车之后需要getchar()吸收回车,但是getline(cin,s);getline(cin,ss);之间不用。

比如:

int n;
cin>>n;
getchar();
gets(s);

 

 

 

但是我奇怪的是:为什么输入n之后s无法输入了???,加了getchar就可以正常输入输出。

技术分享图片

 

POJ1298-字符串转换-水题

原文:https://www.cnblogs.com/OFSHK/p/12919130.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!