C++编程 编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母
题目内容:编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母。输入格式:待转换的字符串输出格式:转换后的字符串...
题目内容:
编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母。
输入格式:
待转换的字符串
输出格式:
转换后的字符串 展开
编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母。
输入格式:
待转换的字符串
输出格式:
转换后的字符串 展开
2个回答
展开全部
#include<iostream>
using namespace std;
#include<cstring>
int main()
{
char* str1;
char str[100];
str1=str;
cout<<"输入字符串:";
cin>>str1;
char *s=str1; //记录字符串首地址
while(*str1)
{
if(*str1>='a'&&*str1<='z') (*str1)=(*str1)-32; //变小为大
else if(*str1<'A'||*str1>'Z') //用于删除非字母元素
{
*str1='\0';
strcat(s,str1+1);
continue; //跳出此次循环,进入下一轮
}
str1++;
}
cout<<"结果:"<<s;
return 0;
}
用Dev C++完美执行,新鲜出炉的。
不过还是建议自己多动手,动脑想想啊,那样记得牢。
有什么问题可以继续问哈。
using namespace std;
#include<cstring>
int main()
{
char* str1;
char str[100];
str1=str;
cout<<"输入字符串:";
cin>>str1;
char *s=str1; //记录字符串首地址
while(*str1)
{
if(*str1>='a'&&*str1<='z') (*str1)=(*str1)-32; //变小为大
else if(*str1<'A'||*str1>'Z') //用于删除非字母元素
{
*str1='\0';
strcat(s,str1+1);
continue; //跳出此次循环,进入下一轮
}
str1++;
}
cout<<"结果:"<<s;
return 0;
}
用Dev C++完美执行,新鲜出炉的。
不过还是建议自己多动手,动脑想想啊,那样记得牢。
有什么问题可以继续问哈。
展开全部
我这个没用指针,思路简单(大神勿怪),有问题请指点
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int i=0;
char x,n[202],m[202];//需要就自己扩大
memset(n,0,sizeof(n));//假装清空一下
cin.get(n,202); //前面扩大就跟着扩大
for(int j=0;;j++)
{
x=n[j];//这个x其实没什么用。。。
if(x>=97&&x<=122)
{m[i]=x-32;i++;}//小写变大写
else
if(x>=65&&x<=90)
{m[i]=x;i++;}//大写不变
else
if(x==' ')
{m[i]=' ';i++;}//空格不变
else
if(x=='\0'||x=='\n')//判断一下是否结尾
break;//咳咳,这个万一结尾不是以上两种,就自己改呗。。。
}
for(int j=0;j<i;j++)
printf("%c",m[j]);
return 0;
}//也可以换成下面这个,函数的话写不写无所谓,反正是小程序,自己改下也行
下面用的是string类型(#include<cstring>)
int main()
{
int i=0,l;
char x;
string n,m;
getline(cin,n);
l=n.length();//偷个懒,取了字符串n的长度
for(int j=0;j<l;j++)
{
x=n[j];//这个x其实也没什么用。。。
if(x>=97&&x<=122)
{m[i]=x-32;i++;}
else
if(x>=65&&x<=90)
{m[i]=x;i++;}
else
if(x==' ')
{m[i]=' ';i++;}
}
for(int j=0;j<i;j++)
printf("%c",m[j]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询