文章
8
粉丝
136
获赞
2
访问
52.9k
题目:写一个函数,用起泡发对输入的字符按由小到大的顺序排列。
#include<stdio.h>
#include<string.h>
int main()
{char a[10];
void sort(char a[11]);
gets(a);
sort(a);
int i;
for(i=0;i<10;i++)
printf("%c",a[i]);
printf("\n");
return 0;
}
void sort(char a[10])
{
int i,j;
char t;
for(i=0;i<9;i++)
for(j=0;j<9-i;i++)
{
if(a[j]>a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
我就是不知道哪里有问题
登录后发布评论
主要是排序函数处理有问题
1、传参不能用形参,否则修改没效果
2、边界不要用9,通过strlen函数获取输入的字符串长度
3、冒泡排序的if下面三个交换语句要用中括号括住,是一个整体
修正代码如下