C语言中,从键盘输入10个数,从小到大排列输出,怎么写啊,最好注明语句的意思?
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/05 17:52:29
C语言中,从键盘输入10个数,从小到大排列输出,怎么写啊,最好注明语句的意思?
#include<stdio.h>
void swap(int *a,int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void bubblesort(int k[],int n)
{ /*冒泡排序*/
int i,j,temp;
int cont = 0;
for(i=0;i<n-1;i++) //控制每趟往前推一个,即少比较一次
{
//flag = 0; //加上flag
for(j=0;j<n-i-1;j++) //从第一个开始,不断与相邻的值比较,并交换最值,一直推到最后,形如冒泡
{
cont++;
if(k[j]>k[j+1])
{
temp = k[j];
k[j] = k[j+1];
k[j+1] = temp;
}
}
}
}
int main()
{
int i,a[10] = {0};
printf("请输入10个数字\n");
for(i = 0; i<10; i++)
{
scanf("%d",&a[i]);
}
printf("The data array is\n") ;
for(i=0;i<10;i++) /*显示原序列之中的元素*/
printf("%d ",a[i]);
bubblesort(a,10); /*执行冒泡排序*/
printf("\nThe result of bubble sorting for the array is\n");
for(i=0;i<10;i++)
printf("%d ",a[i]); /*输出排序后的结果*/
printf("\n");
return 0;
}
亲测
void swap(int *a,int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void bubblesort(int k[],int n)
{ /*冒泡排序*/
int i,j,temp;
int cont = 0;
for(i=0;i<n-1;i++) //控制每趟往前推一个,即少比较一次
{
//flag = 0; //加上flag
for(j=0;j<n-i-1;j++) //从第一个开始,不断与相邻的值比较,并交换最值,一直推到最后,形如冒泡
{
cont++;
if(k[j]>k[j+1])
{
temp = k[j];
k[j] = k[j+1];
k[j+1] = temp;
}
}
}
}
int main()
{
int i,a[10] = {0};
printf("请输入10个数字\n");
for(i = 0; i<10; i++)
{
scanf("%d",&a[i]);
}
printf("The data array is\n") ;
for(i=0;i<10;i++) /*显示原序列之中的元素*/
printf("%d ",a[i]);
bubblesort(a,10); /*执行冒泡排序*/
printf("\nThe result of bubble sorting for the array is\n");
for(i=0;i<10;i++)
printf("%d ",a[i]); /*输出排序后的结果*/
printf("\n");
return 0;
}
亲测
C语言 从键盘输入10个整数,将这10个整数按从小到大的顺序输出.
4个数比较大小,结果从小到大排列,用C语言if语句怎么编?
在C语言中要求输入4个数,把4个数按从小到大排列起来,请问原程序怎么写?
c语言求解.从键盘输入一个正整数N,再输入N个整数,按从小到大的顺序输出.
伪代码算法 c语言 1.从键盘输入10个数,输出其中的最大数2.从键盘输入3个数,要求按大小顺序输出三个数3.求1+3+
c语言题目,从键盘输入10个数输出其中最大的和最小的,并输出最大数和最小数的和
求c语言 从键盘输入一串英文字母,统计每个字母的个数,并输出字母及相应的个数
用C语言从大到小排列38个数怎么写
c语言从键盘输入n求1+2+...+n的结果并输出:while语句中为什么是n=n-1?不是n=n+1?
c语言 从键盘输入10位同学的数学成绩,保存在数组中,输出最高分、最低分、平均分
从键盘上输入10个数,C语言程序:用起泡法对这10个数排从小到大的顺序排序后输出.
键盘输入n个整数(n值也由键盘输入),统计n个整数中奇数的个数及输出这些奇数.c语言