一道C语言题目 void func(char *s1,char *s2)/*s1为字符串的起始地址s2为新字符串的起始地

问题描述:

一道C语言题目
void func(char *s1,char *s2)
/*s1为字符串的起始地址
s2为新字符串的起始地址
注意:字符串尾字符之后跟随着一个结束符'\0'
即ASCII码为0 的字符,结束符不属于字符串
要求:s1串不能发生改变
s2存放新的字符串 */
对字符串,除首尾字符外,将其余字符按ASCII码降序排列,组合得到一个新的字符串s2
1个回答 分类:综合 2014-10-03

问题解答:

我来补答
void func(char *s1,char *s2)
{
int i = 0 ,k = 0,count = 0 ,temp = 0 ;
while( '\0' != * ( s1 + i ) )
{
*( s2 + i ) = * ( s1 + i ) ;
i ++ ;
}
count = i ;
for( i = count - 2 ; i >=0 ; i -- )
{
for( k = i - 1 ; k >= 1 ; k -- )
{
if( s2[ k ] < s2[ i ] )
{
temp = s2[ k ] ;
s2[ k ] = s2[ i ] ;
s2[ i ] = temp ;
}
}
}
}
 
 
展开全文阅读
剩余:2000
上一页:解不等式