C5 用起泡法对连续输入的十个字符排序
#define N 10#include<stdio.h>
#include<string.h>
main()
{
int i;
char str;
/**************FOUND********/
for(i=0;i<N;i++)scanf("%c",str);
/**************FOUND********/
sort(str);
for(i=0;i<N;i++)
printf("%c",str);
printf("\n");
}
sort(char str)
{
int i,j;char t;
for(j=1;j<N;j++)
/**************FOUND********/
for(i=0;i<N-j;i--)
/**************FOUND********/
if(str<str)
{
t=str;
str=str;
str=t;
}
}
14 16 'sort' was not declared in this scope
“sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include<algorithm>的c++标准库中。”
correct:
1. for(i=0;i<N;i++)scanf("%c",&str); √
2. sort(str);
3. for(i=0;i<N-j;i++) √
4. if(str>str) or if(str<str) #include <stdio.h>
#define N 10
void sort(char); // <------- 注意这里,要先声明,还有不要忘记加 void!!
int main() // <------------- 注意这里 int main()
{
char str;
scanf("%s", str);
sort(str);
printf("%s", str);
}
void sort(char str) // <------- 这里才定义
{
char temp;
for (int i = 0; i < N - 1; ++i)
for (int j = i + 1; j < N; ++j) {
if (str > str) {
temp = str;
str = str;
str = temp;
}
}
}bananaMaryMaaaabnnry
页:
[1]