输入一个字符,再输入一个以回车结束的字符串(少于80 个字符)

 我来答
惠企百科
2022-09-29 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
向TA提问
展开全部

用%c输入时需要注意,比较特殊,输入字符后要以回车结束,回车又会影响到下一个输入,建议这么设计输入:scanf("%c%s",&a,str);具体输入时输入一个字符然后空格再输入字符串即可。

#include

using namespace std;

int main()

{

char oper[80];//用来接收用户输入的字符串。

int num=0;//用来接收总字符数。

int NewNum=0;//用来接收新字符数。

int nChar;//用来接收每shu个字符的ASCII码值。

gets(oper);//用户输入字符串,注意!这里不能用cin语句,因为cin会遇到空格停止。

for (int m=0;m<80;m++)

{

if (oper[m]=='\0')//字符串结尾符为'\0'。

{

num=m;

}

}//获取用户输入的总字符数。

for (int i=0;i<num;i++)

{

nChar=(int)oper[i];//获取每个字符的ASCII码值。

if (nChar91)//大写字母在ASCII码之中是从65到91的。

{

oper[NewNum]=oper[i];

NewNum++;

}//如果输入的不是大写字母,则将其以新的顺序填入数组。

}//获得除去大写字母的字符串。

for (int j=0;j<NewNum;j++)

{

cout<<oper[j];

}//输出新的字符串。

cout<<endl<<"新的字符数有:"<<NewNum<<endl;

return 0;

}

扩展资料:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:百度百科-字符串

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式