C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列相关的知识,希望对你有一定的参考价值。
一定要完整,一定要正确,要能运行,谢谢
1、打开Visual stdio 2019软件新建空白c文件,在源文件处右击鼠标,选择添加下面的新建项,此时会弹出窗口:
2、弹出的窗口选择C++文件,将文件扩展名改为“.c”点击添加完成新建c文件,之后就可以编写程序了:
3、接下来就可以编写程序了,首先最前面的部分为输入数字的部分,之后的程序会对用户输入的数字就行排序,最后则是将结果打印出来。冒泡排序需要用到两层循环,第一层循环遍历数组中的元素,第二层则进行两两比较,如果顺序不对就要对其进行换位,直到排序完成:
4、最后执行程序观察结果,按下crtl+F5弹出程序,随意输入10个数,按下回车键执行结果,此时就可以看到排序后的结果了。以上就是c语言冒泡排序程序的演示:
参考技术A #include<stdio.h>#include<string.h>
void maopaofa(char x[],int y)
int i;
int j;
char t;
for(i=0;i<y;i++)
for(j=0;j<y-1;j++)
if(x[j]>x[j+1])
t=x[j];
x[j]=x[j+1];
x[j+1]=t;
int main()
char a[100];
int i;
gets(a);
int l=strlen(a);
maopaofa(a,l);
for(i=0;i<l;i++)
printf("%c",a[i]);
return 0;
参考技术B #include "stdio.h"
main()
int a[10],i,j,t;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (j=1;j<10;j++)
for (i=0;i<10-j;i++)
if (a[i]>a[i+1])
t=a[i]; a[i]=a[i+1];a[i+1]=t;
for (i=0;i<10;i++)
printf("%d ",a[i]);
参考技术C char a[] = "6931280457", c;
int i, j;
for(i = 0; i < 10; ++i)
for(j = 9; j > i; --j)
if(a[j] < a[i])
c = a[i]; a[i] = a[j]; a[j] = c;
还不错,希望你采纳。 参考技术D #include "stdio.h"
void sort(char *d,int n)
int i,j;
char temp;
for(i=0;i<n-1;i++)
for(j=n-1;j>i;j--)
if(d[j]<d[j-1])
temp=d[j];d[j]=d[j-1];d[j-1]=temp;
int main()
char d[100];
int i;
for(i=0;i<10;i++)
scanf("%c",&d[i]);
sort(d,10);
for(i=0;i<10;i++)
printf("%c",d[i]);
用C语言写一个函数,用冒泡法对输入的10个字符按由小到大的顺序排列
写一个函数,用冒泡法对输入的10个字符按由小到大的顺序排列
把这个题目的全部过程写出来,要能在软件上面运行出来的啊.谢谢大家了哦
int i,j,temp;
printf("\nmao pao pai xu\n");
for(i=0;i<=num;i++)
for(j=0;j<=num-1;j++)
if(a[j]>a[j+1])
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
其接受的实参为一个数组和这个数组元素个数。
全过程
#include<stdio.h>
void main()
char c;int x; int a[100];
int i=0,j,num,temp;
clrscr();
printf("please some integers:\n");
scanf("%d", &x);
c=getchar();
while(c!='#')
a[i]=x;
scanf("%d", &x);
c=getchar();
i++;
num=i-1;
if(num==0)
printf("\nYou should give at least two integers!");
exit(0);
printf("The integers you input:\n");
for(i=0;i<=num;i++)
printf("%-5d",a[i]);
if(i%5==4) printf("\n");
printf("\nmao pao pai xu\n");
for(i=0;i<=num;i++)
for(j=0;j<=num-1;j++)
if(a[j]>a[j+1])
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
for(i=0;i<=num;i++)
printf("%-5d",a[i]);
if(i%5==4) printf("\n");
printf("\nxuan ze pai xu\n");
for(i=0;i<=num;i++)
for(j=i+1;j<=num;j++)
if(a[i]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp;
for(i=0;i<=num;i++)
printf("%-5d",a[i]);
if(i%5==4) printf("\n");
getch();
不过这是冒泡和选择都有的,你把选择那段程序删了就行了。这是可以通过TC的。 参考技术B void Bubble(char a[] int n)
int i,j;
char temp;
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1])
temp = a[j]; a[j] = a[j+1]; a[j+1] = temp;
本回答被提问者和网友采纳 参考技术C #include
"stdio.h"
#include
"stdlib.h"
void
Bubble(float
a[])
int
i,j;
float
temp;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
temp
=
a[j];
a[j]
=
a[j+1];
a[j+1]
=
temp;
main()
float
B[10],average=0,sum=0;
int
i,j=0;
for(i=0;i<10;i++)
scanf("%f",&B[i]);
for(i=0;i<10;i++)
sum+=B[i];
average
=
sum/10.0;
printf("average
=
%.2f\n",average);
Bubble(B);
for(i=9;i>=0;i--)
printf("%.2f\t",B[i]);
++j;
if(j==5)
printf("\n");
system("pause");
多送你个求平均数
这是我们期末考试的题目 参考技术D 我的比他们的简单,不用函数调用
#include "stdio.h"
main()
int i,j,temp,a[10];
clrscr();
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<=9;i++)
for(j=0;j<=8-i;j++)
if(a[j]>a[j+1])
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
for(i=0:i<=9;i++)
printf("%4d",a[i]); 第5个回答 2020-03-10 void
Bubble(char
a[]
int
n)
int
i,j;
char
temp;
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1])
temp
=
a[j];
a[j]
=
a[j+1];
a[j+1]
=
temp;
以上是关于C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列的主要内容,如果未能解决你的问题,请参考以下文章
C语言 数组与函数 写一函数,对输入的一组整数按由小到大的顺序排序,在main主函数调用该
C语言:写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串.