请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余五个字符按ascll码降序排列

编程有错误,错在哪里又不知道,请大神指点,求求了救救我

#include <stdio.h>
int fun(char str[7]);
int main()
{
    char str[7] = {'\n'};
    int i = 0;
    
    printf("输入7个字符的字符串:\n");
    scanf("%s",str);
    fun(str);
    for(i = 0 ;i < 7;i++){
        printf("%c ",str[i]);     
    }
}

int fun(char str[7])
{
    int i= 0,temp = 0;    
    int j = 0;

    for(i = 1,j = 5;i <= j;i++,j--){
        
        if(str[i] < str[j]){
            temp = str[i];
            str[i] = str[j];
            str[j] = temp;
        }
    }
    return;
}

代码如上,万望采纳

#include <stdio.h>
int main()
{
	int i, j;
	char s[7];
	for (i = 0; i < 7; i++)
		scanf("%c", &s[i]);
	
	for (i = 1; i < 5; i++)
	{
		for (j = 1; j < 6-i; j++)
		{
			if (s[j] > s[j + 1])
			{
				char temp = s[j];
				s[j] = s[j + 1];
				s[j + 1] = temp;
			}
		}
	}
	for (i = 0; i < 7; i++)
		printf("%c", s[i]);
	
	
	return 0;
}

 

你把代码贴出来吧,我帮你看一下

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
//冒泡排序
void bubbleSort (char arr[], int len) 
{
	char temp;
	int i, j;
	for (i=0; i<len-1; i++)
	{
		for (j=0; j<len-1-i; j++) 
		{ 
			if (arr[j] < arr[j+1]) 
			{
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
}

int main()
{
	char a[] = "abcedfg";
	bubbleSort(&a[1],5);
	printf("%s",a);
	getchar();
	getchar();
	return 0;
}