C++编写程序,输入一个字符串(少于80个字符),在原字符数组中删除所有的非英文字母后,组成新的字符串输出

如输入8a2Wer#qQSD则输出aWerqQSD... 如输入8a2Wer#qQSD则输出aWerqQSD 展开
 我来答
baohuiyun
2011-05-11 · TA获得超过101个赞
知道答主
回答量:65
采纳率:0%
帮助的人:0
展开全部

#include "stdafx.h"

#include <iostream>

int main()

{

char str[80]="\0",resultStr[80]="\0";

int cursor=0;

printf("请输入字符串:");

scanf("%s",str);

char *tempStr = str;

while (*tempStr != '\0')

{

char ch = *tempStr;

if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

{

resultStr[cursor] = ch;

cursor++;

}

tempStr++;

}

printf("输入字符为:%s\n输出字符为:%s\n",str,resultStr);

system("pause");

return 0;

}

孤松独海
推荐于2018-03-28 · TA获得超过1513个赞
知道大有可为答主
回答量:1220
采纳率:0%
帮助的人:491万
展开全部
那就循环判断 利用 isalpha 或者 判断在不在az 和AZ之间 可以再定义一个字符数组 将符合情况的存到新数组里面
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山重水複
2011-05-12 · TA获得超过182个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:66.2万
展开全部
#include <iostream>
#include <string>
using namespace std;
void func(string &in, string &out)
{
for(int i = 0; i < in.length(); ++i)
{
if((in[i] >= 'A' && in[i] <= 'Z') || (in[i] >= 'a' && in[i] <= 'z'))
out.append(in[i]);
}
}

int main()
{
string in, out;
cout<<"Input string: ";
cin>>in;
func(in, out);
cout<<"Result: "<<out<<endl;
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oolgloo
2011-05-11 · TA获得超过2636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:663万
展开全部
int i, j = 0;
char *Input[81];
char *Output[81];
cout << "Input a string: ";
cin >> Input;
for (i=0; i<strlen(Input); i++)
{
if (isalpha(Input[i]))
Output[j++] = Input[i];
}

cout << "New String: " << Output << endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庹灵波PG
2011-05-12 · TA获得超过233个赞
知道答主
回答量:378
采纳率:0%
帮助的人:0
展开全部
把你的书翻到附录部分,有个ascii码表,对吧,根据16进制判断就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式