C语言题目: 用冒泡法对任意输入的10个整数由小到大的顺序排序

 我来答
做一个快乐的茶农
高粉答主

2019-11-19 · 每个回答都超有意思的
知道答主
回答量:1396
采纳率:100%
帮助的人:32.8万
展开全部

1、新建一个工程和.c文件。

2、定义变量类型。

3、用一个for语句遍历整个数组。

4、引入一个子函数,该子函数的作用是调整数组元素的顺序,使之由小到大排列。

5、最后通过for函数一次输出调整后的数组元素。

6、介绍一下子函数的实现语句,首先定义子函数。

7、定义变量类型。

8、该子函数实现顺序的调整。

9、编译,执行即可。

爱教育爱学习
高粉答主

2019-11-13 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112720

向TA提问 私信TA
展开全部

#include<stdio.h>

voidmain()

{

charc;intx;inta[100];

inti=0,j,num,temp;

clrscr();

printf("pleasesomeintegers:\n");

scanf("%d",&x);

c=getchar();

while(c!='#')

{a[i]=x;

scanf("%d",&x);

c=getchar();

i++;

num=i-1;

}

if(num==0)

{

printf("\nYoushouldgiveatleasttwointegers!");

exit(0);

}

printf("Theintegersyouinput:\n");

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

{printf("%-5d",a[i]);

if(i%5==4)printf("\n");}

printf("\nmaopaopaixu\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("\nxuanzepaixu\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();

}

扩展资料

用“起泡法”,对输入的10个字符由小到大排序。

#include<stdio.h>

#include<string.h>

intmain(void){

voidsort(chara[10]);//声明函数

chara[10];

inti;

printf("输入10个字符,中间不要有空格:\n");

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

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

}

sort(a);//调用函数

return0;

}

voidsort(chara[10]){

intj;//外循环,控制趟数

inti;//内循环,控制次数

chart;

for(j=0;j<9;j++){

for(i=0;i<9-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("%c",a[i]);

}

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老冯文库
2017-07-02 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8733

向TA提问 私信TA
展开全部

C语言程序:

#include <stdio.h>	

/* 冒泡排序,非递减有序 */
void sort(int arr[], int n)
{
int i, j;
int temp;

for(i=0; i<n-1; i++)
{
for(j=0; j<n-1-i; j++)
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

void main()
{
int arr[10];
int i, n = 10;

printf("请输入10个整数:");
for(i=0; i<n; i++)
scanf("%d", &arr[i]);

sort(arr, n);

printf("排序后:\n");
for(i=0; i<n; i++)
printf("%d ", arr[i]);
printf("\n");
}


运行测试:

请输入10个整数:4 5 6 7 1 2 3 0 9 8
排序后:
0 1 2 3 4 5 6 7 8 9
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式