写一函数用起泡法对输入的个字符按由小到大的顺序排列。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写一函数用起泡法对输入的个字符按由小到大的顺序排列。相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
void main()

int paixu();
int a[10],k;
printf("输入十个数字: \n");
for(k=0;k<10;k++)
scanf("%d",&a[k]);
paixu(a[10]);
printf("the sorted numbers: \n");
for(k=0;k<10;k++)
printf("%d ",a[k]);
printf("\n");


int paixu(int b[10])

int t,i,j;
for(i=0;i<10;i++)
printf("%d ",b[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(b[i]>b[i+1])

t=b[i];
b[i]=b[i+1];
b[i+1]=t;


为什么输入数字后点击运行却没反应,谢谢大神们来指导

#include <stdio.h>

#include <stdlib.h>

void sort(char s[], int n);                      //定义排序函数

int main()

char str[11];

printf("Please enter 10 charactor: ");       //输入10个字符

gets(str);

sort(str, 10);                               //调用排序函数

system("pause");

return 0;

//排序函数(起泡法)

void sort(char s[], int n)

for (int i=0; i<n-1; i++)

for (int j=0, t; j<n-1-i; s[j]>s[j+1]?t=s[j],s[j]=s[j+1],s[j+1]=t, j++ :j++);

printf("Sort array: ");

puts(s);

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

参考技术A #include <stdio.h>
void main()

int paixu();
int a[10], k;
printf("输入十个数字: \\n");
for (k = 0; k<10; k++)
scanf("%d", &a[k]);
paixu(a);//a[10]
printf("the sorted numbers: \\n");
for (k = 0; k<10; k++)
printf("%d ", a[k]);
printf("\\n");


int paixu(int* b)

int t, i, j;
for (i = 0; i<10; i++)
printf("%d ", b[i]);
printf("\\n");
for (j = 0; j<9; j++)
for (i = 0; i<9 - j; i++)
if (b[i]>b[i + 1])

t = b[i];
b[i] = b[i + 1];
b[i + 1] = t;

本回答被提问者采纳

写一个函数实现对输入10个字符按由小到大顺序排列.在主函数中调用该函数并输出排序后的结果

写一个函数实现对输入10个字符按由小到大顺序排列.在主函数中调用该函数并输出排序后的结果。

#include<stdio.h>

void sort(char c[],int n)

 int i,j; char t;

 for(i=0;i<n-1;i++)

   for(j=0;j<n-1-i;j++)

     if(c[j]>c[j+1])

     t=c[j]; c[j]=c[j+1]; c[j+1]=t;

void main()

 int i; char c[10];

 printf("Please input 10 chars:\\n");

 for(i=0;i<10;i++)

   scanf("%c",&c[i]);

 sort(c,10);

 for(i=0;i<10;i++)

   printf("%c",c[i]);

 printf("\\n");



参考技术A #include<stdio.h>
#define N 10
void fun(char *s,int n)  int i,j; char c;
  for ( i=0;i<n-1;i++ )
    for ( j=i+1;j<n;j++ )
      if ( s[i]>s[j] ) c=s[i];s[i]=s[j];s[j]=c;

void main()  int i; str[256];
  gets(str); fun(str,N); for ( i=0;i<N;i++ ) printf("%c ",str[i]); printf("\\n");

参考技术B public class QuickSort
public static void sort(int a[], int low, int hight)
int i, j, index;
if (low > hight)
return;

i = low;
j = hight;
index = a[i]; // 用子表的第一个记录做基准
while (i < j) // 从表的两端交替向中间扫描
while (i < j && a[j] >= index)
j--;
if (i < j)
a[i++] = a[j];// 用比基准小的记录替换低位记录
while (i < j && a[i] < index)
i++;
if (i < j) // 用比基准大的记录替换高位记录
a[j--] = a[i];

a[i] = index;// 将基准数值替换回 a[i]
sort(a, low, i - 1); // 对低子表进行递归排序
sort(a, i + 1, hight); // 对高子表进行递归排序



public static void quickSort(int a[])
sort(a, 0, a.length - 1);


public static void main(String[] args)

int a[] = 49, 38, 65, 97, 76, 13, 27, 49 ;
quickSort(a);
System.out.println(Arrays.toString(a));


//数组里面传多少个数都可以都可以帮你把数排序

以上是关于写一函数用起泡法对输入的个字符按由小到大的顺序排列。的主要内容,如果未能解决你的问题,请参考以下文章

用C语言写一个函数,用冒泡法对输入的10个字符按由小到大的顺序排列

用调用函数,用"起泡法"对输入的10个整数按从小到大顺序排列

C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列

写一函数对输入的一组整数由小到大排序,在main主函数调用该函数实现排序。(输入任意个整数即可输出

输入3个整数,按从小到大的顺序输出(用指针处理)

输入3个整数,按从小到大的顺序输出(用指针处理)