2021-11-10

"本文介绍了数组排序的三种方法:选择法排序、插空排序和冒泡排序,并详细解析了每种排序算法的实现过程。同时,探讨了C语言中数组和字符串的初始化、输入输出及注意事项,包括静态与动态数组的区别以及字符串末尾''的自动添加。"
摘要由CSDN通过智能技术生成

关于数组排序的方法和字符串问题理解

数组初始化问题
在函数类型前边如果不加东西,系统会默认为动态数组auto;数组每个值不初始化的话无法确定。
如果前边加上static就会变为静态数组,系统自动初始化数组且全部赋值为;
在主函数前声明**#define M 100**用M的数组也会是静态。

1.选择法排序

/*对n个数进行排序*/
int index,i,k;
for(k=0;k<n-1;k++)
{
	index=k;
	for(i=k+1;i<n;i++)
	{
		if(a[i]<a[index])
		index=i;
	}
	temp=a[index];
	a[index]=a[k];
	a[k]=temp;
}

2.插空排序
(先找到插空的位置。找位,定位,腾位,插入)

for(i=0;i<n;i++)
{
	if(x<a[i])
	break;
}
index=i;
for(i=n-1;i>=index;i--)
{
	a[i+1]=a[i];
}
a[index]=x;

3.冒泡排序
(每轮冒泡都会将最大的或最小的排到倒数正确的位置上,所以最大轮数是n-1)

for(i=0;i<n-1;i++)
{
	for(j=0;j<n-1-i;j++)
	{
		if(a[j]>a[j+1])
		{
			t=a[j+1];
			a[j+1]=a[j];
			a[j]=t;
		}
字符串

string
三种输入方式;
1.while((line=getchar())!=’\n’)
2.scanf("%s",&line)
会出现一些问题scanf会被空格结束输入
3.gets(line)不接受’\n’是以’\0’来结束

输出;

  1. puts(line)[自动换行]空出一行
    2.printf("%s",line)

字符串
数组一定要比字符串大,因为系统会自动给字符串末尾加一个‘\0’
“a”是字符串’a‘是字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值