您好,欢迎访问三七文档
什么是字符?‘0’~‘9’‘A’~‘Z’‘a’~‘z’常常忽略:空格‘’,tab‘\t’,换行‘\n’一些看不见的字符:ASCII0~31(控制字符)32~127(可见字符)128~255(在拓展ASCII表中)字符特性1、字符=整数‘A’=65,‘a’=97,‘0’=48‘’=322、字符可以相加减,可以比较大小‘A’-‘B’=-1‘A’+32=‘a’charx;if(x=‘a’&&a=‘z’)判断x是否为小写字母for(inti=0;i10;i++)cout(char)‘0’+i“”输出0~9这10个字符。字符串:一串字符组成由双引号扩起,区别于单个字符“abcdefg”“Hello”“Howdoyoudo?”“br\n”表示方法:1、数组2、字符串类字符串的数组表示charstr[1000];cinstr;例如:输入”Tom”则str字符数组中str[0]=‘T’str[1]=‘0’str[2]=‘m’str[3]=‘\0’(结束字符)ASCII码是0长度为n的字符串存入字符数组需n+1个空间字符串的类表示#includestringstringstr;cinstr;字符串的读入数组:cina;cin.getline(a,1000,’\n’);istream&getline(char*buffer,streamsizenum,chardelim);字符串类:cina;getline(cin,a,’\n’);istream&getline(istream&is,string&s,chardelimiter='\n');单个字符的读入charc;c=cin.get();intget();istream&get(char&ch);istream&get(char*buffer,streamsizenum);istream&get(char*buffer,streamsizenum,chardelim);istream&get(streambuf&buffer);istream&get(streambuf&buffer,chardelim);cin.peek();字符串操作单个字符逐一操作长度颠倒截取拼接输入输出控制#includeiomanip输入16进制数cinhexx;8进制cinotcx输出小数coutfixedsetprecision(2)x;couthexx;coutotcx;关于输入输入无限个数while(cinx){……}while(cinab){……}输入未知个数,以换行结束while(cina){if(cin.get()==‘\n’){……}else{……}}•P6高精度正整数乘法问题•问题描述:•给定任意两个高精度正整数a、b,计算a与b的乘积。•输入:•输入文件中有若干行,每一行上有两个用字符串表示的正整数a,b。•输入直到文件结束。•输出:•对每个输入行上的两个正整数a,b,在一行上先输出形式a*b=,接着输出a与b的积。•输入样例:•123456788466•34566••输出样例:•12345*6788466=83803612770•345*66=22770•P26回文串•问题描述•编写一函数palindrome(char*s)用于判断任一字符串是否是回文(即顺序读与反序读一样,例如“ABCBA”、“121”等)。•输入•输入文件有多组测试数据。第一行有一个整数n,它是测试数据组数,(n≤20)。接下来有n行,每行至多有m个字符,(m≤1000)。但是,每一行末尾处的换行字符不能作为这一行的内容。•输出•对每一组测试数据,在一行上输出你的判断结果。若是回文串,则输出“YES!”,否则输出“NO!”。•(主函数调用判别函数并输出判别结果)。•输入样例•3•ABCBA•121•ABCA••输出样例•YES!•YES!•NO!•P28正读反写•问题描述•顺序读入一串数据,让机器以相反的次序输出所有的数值。例如,读入:abcde,输出:edcba。•输入•输入的第1行是一个整数n,表示有n组测试数据。接下来有n行,每行表示一组测试数据,这一行由一串字符串构成,字符串中允许出现空格,以回车符作为这一行的结束符。•输出•对每一字符串表示的数据,在一行上输出对应的逆序字符串。•输入样例•2•abcde•12••输出样例•edcba•21••P36统计字符数字空格和其它字符个数•问题描述•一行字符中有字符、数字、空格及其它字符。你的任务是统计这一行字符串中字符、数字、空格和其它字符的个数。•输入•输入文件有若干行,每一行上若干个字符组成的字符串。•输出•输出文件有若干行。对输入文件中的每一行字符串,在一行上输出字符、数字、空格和其它字符的个数之间空一个空格。•输入样例•123fe*&540934j•df*AS•输出样例•3912•4011••P46菱形字母图(版本1)••问题描述•输入一个整数n,输出如下用大写字母构成的有规律的图形。如n=3,有图形•但对有些整数n,是无法输出这样的图形的,如n=30。•输入•输入有若干行,每行有一个整数n,(|n|60000)。•输入直到文件输入结束。•输出•对每一行的测试数据,先在一行上输出“Case#:”,其中“#”是测试数据的行编号(从1开始),再在同一行上输出n的具体值,格式如“n=3”。冒号“:”与n之间有一个空格。接着在下面的一行或若干行上输出结果图形。图形靠左边输出,两字母间无空格,尾部无多余空格。如无法按要求输出菱形字母图,那么输出“Noimage!”;•输出一组数据后空一行。•输入样例•34输出样例•Case1:n=3AABAABCBAABAACase2:n=4AABAABCBAABCDCBAABCBAABAA•P83字符的属性(1)•问题描述•给定一个字符的ASCII编码(0~255),判断该字符的属性(控制字符、数码、大写字母、小写字母、其它可打印字符)。•输入•输入数据仅有一行,该行有一个整数n(0=n=255)。•输出•依次输出①该编码的10进制值(按3位宽度,不足时高位补0);②16进制值(按2位宽度,不足时高位补0,使用uppercase);③字符(若为可打印字符则用单引号包围起来;若为非可打印字符则以句点’.’代替之);④属性(“Control”(控制字符)、“Digital”(数码)、“Upper”(大写字母)、“Lower”(小写字母)、“Other”(其它可打印字符)之一)。各输出项之间用空格分隔,最后换行。•输入样例•65••输出样例•0650x41’A’Upper•P125含两字节汉字的字符串倒置•问题描述•给定一个含两字节汉字的字符串,将其倒置形成一个新字符串。用两个字节可给国标GB2312-80字符集中的汉字编码。具体编码方案是,第一字节为(160+区码)、第二字节为(160+位码)。其中区码和位码的取值范围均为1~94。•输入•输入数据有若干行。每行为一个字符串(字符串中可能包含空格字符、两字节的汉字字符、其他可打印字符,长度不超过65536字符)对应一种情形。•输出•对于每一种情形,先输出“Case#:”(#为序号,从1起),输出结果(用双引号包围新字符串,参见输出样例),换行。•输入样例•客上天然居•学大汉武立国•高级语言C++程序设计•输出样例•Case1:居然天上客•Case2:国立武汉大学•Case3:计设序程++C言语级高•P131英文缩写词•问题描述•给定一个由若干英文单词组成的字符串,生成一个由各首字母组成的缩写词(acronym),其中的the,a,an,of,for及and被忽略。•输入•输入数据有若干行,每行上有一个字符串对应一种情形。字符串中分隔单词的字符有空格或连字符。字符串的长度不超过65536字符。•输出•对于每一种情形,先输出“Case#:”(#为序号,从1起),然后输出结果,换行。•输入样例•UnitedStatesofAmerica•PEOPLE’SREPUBLICOFCHINA•TheAsia-PacificEconomicCooperation•OrganizationofthePetroleumExportingCountries•UnitedNationEducationalScientificandCultureOrganization•UniversalSerialBus•输出样例•Case1:USA•Case2:PRC•Case3:APEC•Case4:OPEC•Case5:UNESCO•Case6:USB
本文标题:88字符串
链接地址:https://www.777doc.com/doc-3437290 .html