#include <stdio.h>
int main()
{
int arr[10] = { 2,5,1,3,6,4,7,8,9,0 };
int i = 0;
int j = 0;
for( i = 0 ;i < sizeof(arr)/sizeof(arr[0])? - 1 ; i++)? 红色的代表数组一共有n个元素,则需要n-1次
{
? ? ? ? ? ? ?for( j = 0?//? 这里可以让数组从哪一位开始 ; j < n - 1 (n-1代表要经过最后的元素? 因为j可以等于n-2? 则可与最后的元素比较(即第n-1个元素)) - i?;j++)
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if( arr[j]>arr[j+1] )
{
temp? = arr[j];
arr[j]= arr[j+1];
arr[j+1] = temp;
}
}
}
return 0;
}
从键盘读入一串字符后去除首尾字符后的字符串按降序排序
请编写函数Sort函数,将字符串中除首、尾字符外的其余字符按降序排列。
void Sort(char *p)
{
?? ?int i = 0;
?? ?int j = 0;
?? ?char temp = '\0';
?? ?int len = 0;
?? ?for( i = 0 ; *(p+i) != '\0' ; i++ )
?? ?{
?? ??? ?len++;
?? ?}
?? ?for( i = 0 ; i < len - 3 ; i++)//由于去掉开头和最后的二个元素,则剩下len-2个元素 ; 则写len-3
?? ?{
?? ??? ?for( j = 1 ; j < len - i - 2 ; j++ ) //不经历len-1 则不需要比较运行
?? ??? ?{
?? ??? ??? ?if( *(p+j) < *(p+j+1) )
?? ??? ??? ?{
?? ??? ??? ??? ?temp = *(p+j);
?? ??? ??? ??? ?*(p+j) = *(p+j+1);
?? ??? ??? ??? ?*(p+j+1) = temp;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}