好玩的C语言数组!!(冒泡排序数组)

首先理解什么是数组,数组就是一组数据的集合。它的定义格式是
数据类型  数组名[数据长度];
或者  数据类型 数组名[数组长度]={};
或者  数据类型  数组名[3]={1,2,3};


数组内的数据用逗号分隔。

数组的初始化可以在定义的时候初始化赋值,或者可以通过下标赋值。(数组的每一个元素都有序号,序号从0开始,而不是从1开始,这样的序号称作下标,下标必须为整数,而且必须大于等于0,小于数组长度,否则数组会发生越界)

如果赋值的数小于数组长度的话,后面的数组元素赋值为当前类型的默认值,比如int,long,short型的数组,赋值为0;float,double型的数组默认值为0.000000;char型的默认值为'\0';

例如:int a[5]={1,2,3};     那么a[5]={1,2,3,0,0};这里注意一下溢出,数组长度int a[5]={1,2,3,4,5,6} 这样子写是错误的。

只能给元素单个赋值,不能整体赋值

例如给a数组赋5个值int a[5]={1,1,1,1,1};   不能写成int a[5]={1};   

如果给数组全部赋值,可以不写数组长度

例如int a[5]={1,2,3,4,5};   等价于int a[]={1,2,3,4,5};   



数组内每个元素的类型必须与数组类型一致,且数组下标必须为整数。


接下来分析一下冒泡排序

#include<stdio.h>
#include<stdlib.h>

void main(){
	int i,j;
	int a[]={1,2,3,4,5,6,7,8,9,0};
	printf("给数组赋的十个值:\n");  
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	printf("该数组为:\n");
	for(i=0;i<10;i++)
	{
		printf("%d ",a[i]);
	}
	printf("\n降序排序为:\n");
	for(i=0;i<10;i++)       
	{
		for(j=i+1;j<10;j++)     
		{
			if(a[i]<a[j])     
			{
				int temp=a[i];
				temp=a[j];
				a[j]=a[i];
				a[i]=temp;
			}
		}
		printf("%d ",a[i]);
	}
	printf("\n升序排序为:\n");
	for(i=0;i<10;i++)
	{
		for(j=i+1;j<10;j++)
		{
			if(a[i]>a[j])
			{
				int temp=a[i];
				temp=a[j];
				a[j]=a[i];
				a[i]=temp;
			}
		}
		printf("%d ",a[i]);
	}
	getchar();
	getchar();
}

代码主要判断就在if那里,然后定义一个第三变量去交换到两个数组元素比较之后排序的值。


这些代码编程都是在VS2012里写的,有一些地方可能会有错误,但是我这能运行,如果在vc6.0或其他程序不能运行或者出现报错的话可以稍做修改。

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值