071102一、输入5个字符串,每个串的长度均不超过8个字符,将字符串排序后输出。注意:#includecstring提示1:两个字符串可以整体比较大小,使用系统函数strcmp()举例:比较str1和str2的大小t=strcmp(str1,str2);t有三种可能0(str1==str2),1(str1str2),-1(str1str2)提示2:两个字符串互相赋值,使用系统函数strcpy()举例:将str1的值赋给str2strcpy(str2,str1)voidf1(){charname[5][10],temp[10];inti,j;coutpleaseinput5strings\n;for(i=0;i5;i++)cin.getline(name[i],10);for(i=0;i5-1;i++)for(j=0;j5-1-i;j++)if(strcmp(name[j],name[j+1])==1){strcpy(temp,name[j]);strcpy(name[j],name[j+1]);strcpy(name[j+1],temp);}for(i=0;i5;i++)coutname[i]endl;}二、ACM,题号2976#includeiostream#includecstringusingnamespacestd;intmain(){constintstrSize=100000;chars[strSize+1],t[strSize+1];inti,j,count,lenS;while(cinst){lenS=strlen(s);j=0,count=0;for(i=0;s[i]!='\0'&&t[j]!='\0';i++){if((s[i]='a'&&s[i]='z')||(s[i]='A'&&s[i]='Z')||(s[i]='0'&&s[i]='9'))//数字字母for(;t[j]!='\0';)//t[i]等于\0,此时没有可比下去的了,j++没有放到循环中,是因为break语句会使for中的j++不被执行,故放到下一个语句中{if(s[i]==t[j++])//如果相等,计数,并且,j++指向下一个字符,退出内循环,进入s的下一个字符{count++;break;}j++;}}}if(count==lenS){coutYesendl;}else{coutNoendl;}}//return0;}三、ACM,题号2743#includeiostream#includecstring#includememoryusingnamespacestd;intmain(){conststrSize=100;chars1[strSize+1],s2[strSize+1];intn=0,i=0,j=0,len1=0,len2=0;intk=0;cinn;for(k=1;k=n;k++)//既然给出n,说明不需要while;{cin.get();//注意看题目的要求,n下面就有一个空行;且每组数据有一个空行。cin.getline(s1,strSize+1);cin.getline(s2,strSize+1);len1=strlen(s1);len2=strlen(s2);strupr(s1);//把小写字母变成大写strupr(s2);j=0;for(i=0;s1[i]!='\0';i++){if(s1[i]!=''){s1[j++]=s1[i];}}//注意以前的作业,删除一个元素所讲的例子s1[j]='\0';//注意,最后一个\0要赋给数组的末尾。j=0;for(i=0;s2[i]!='\0';i++){if(s2[i]!=''){s2[j++]=s2[i];}}s2[j]='\0';if(strcmp(s1,s2)==0)//没有空格,大小写统一了,可以直接判断了。coutYESendl;elsecoutNOendl;}return0;}