打卡第一次发博客:
764.输出字符串:
题目链接
1.如何完成ASCII码向字符转换并输出,首先需要定义一个字符,然后直接将ASCII码赋值给字符,该字符就会成为ASCII码对应的字符。
2.在C++中,字符串类可以直接当字符数组来用。
PS: string str; char c=str[0];就相当于把字符串的第一个字符赋给了字符c。
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s;
getline(cin,s);
/*char c=s[0];
for(int i=0;i<s.size();i++){
s[i]=s[i]+s[i+1];
if(i+1==s.size()) s[i]=s[i]+c;
}
cout<<s;*/
for(int i=0;i<s.size();i++)
cout<<(char)(s[i]+s[(i+1)%s.size()]);
return 0;
}
PS:被注释掉的部分是我原来采用的算法,因为原来的是用字符串更替比较麻烦,后来采用直接输出字符串的方式。
766.去掉多余的空格
这里采用两种方法:
方法一:
利用C++的cin输入的特点,不能读取空格,所以在输出的时候,给两项之间加上一个空格,就相当于对空格完成了合并操作。
方法二:
对空格标记,如果连续两次出现空格,则就不对之后出现的空格完成输出。
代码部分:
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s;
/*while(cin>>s){
cout<<s<<" ";
}*/
getline(cin,s);
int flag=0;
for(int i=0;i<s.size();i++)
{
if(s[i]!=' ')
{ cout<<s[i];
flag=0;}
else if(flag==0)
{
cout<<" ";
flag=1;
}
else
continue;
}
return 0;
}
PS:注释掉的部分为采用的原来的方法