输入一个字符,再输入一个以回车结束的字符串(少于80 个字符)
用%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中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串