题目内容:
编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母。
注意,不在函数中输出。输入输出应在主函数中进行。
输入格式:
待转换的字符串,字符串间会包含空格,长度不超过200。
输出格式:
转换后的字符串
输入样例:
happy new year!
输出样例:
HAPPY NEW YEAR
我写的程序是这样的,但是提交online判断不是满分,求大神指点一二!!
#include <iostream>
#include <cstring>
using namespace std;
void mystrtran(char str[])
{
int i,len=0;
while(str[i]!='\0'){
len++;
i++;
}
for(i=0;i<len;i++){
if(str[i]>='a'&&str[i]<='z'){
str[i]=str[i]-32;
}
else if(str[i]==' '){
str[i]=str[i];
}
else if((str[i]<'a'||str[i])||(str[i]<'A'||str[i]>'Z')){ //当是非字母字符时候
str[i]='\0';//当是标点符号的时候后一个字符前移
}
else if((str[i]>='A')&&(str[i]<='Z')) {
str[i]=str[i];
}
}
for(i=0;i<len;i++){
cout<<str[i];
}
}
int main()
{
int i;
const int n=200;
char a[n];
cin.getline(a,n);//输入字符串
mystrtran(a);
return 0;
}
编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母。
注意,不在函数中输出。输入输出应在主函数中进行。
输入格式:
待转换的字符串,字符串间会包含空格,长度不超过200。
输出格式:
转换后的字符串
输入样例:
happy new year!
输出样例:
HAPPY NEW YEAR
我写的程序是这样的,但是提交online判断不是满分,求大神指点一二!!
#include <iostream>
#include <cstring>
using namespace std;
void mystrtran(char str[])
{
int i,len=0;
while(str[i]!='\0'){
len++;
i++;
}
for(i=0;i<len;i++){
if(str[i]>='a'&&str[i]<='z'){
str[i]=str[i]-32;
}
else if(str[i]==' '){
str[i]=str[i];
}
else if((str[i]<'a'||str[i])||(str[i]<'A'||str[i]>'Z')){ //当是非字母字符时候
str[i]='\0';//当是标点符号的时候后一个字符前移
}
else if((str[i]>='A')&&(str[i]<='Z')) {
str[i]=str[i];
}
}
for(i=0;i<len;i++){
cout<<str[i];
}
}
int main()
{
int i;
const int n=200;
char a[n];
cin.getline(a,n);//输入字符串
mystrtran(a);
return 0;
}