数组的增删改查排

排序

#include<stdio.h>
#define N 10
int main()
{
	int a[N]={2,36,45,85,63,45,56,32,3,11},i,j,t;
	for(j=N-1;j>=0;j--)
	{
		for(i=0;i<=j;i++)
		{
			if(a[i+1]<=a[i])
			{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}
		}
	}
	for(i=0;i<=N-1;i++)
	{
		printf("%d\t",a[i]);
	}
	printf("\n");
	return 0;
}

#include<stdio.h>
#define N 10
int main()
{
	int a[N]={2,36,45,85,63,45,56,32,3,11},j,x;
	scanf("%d",&x);
	for(j=0;j<=N-1;j++)
	{
		if(a[j]==x)/*注意if中判断“==”*/
		{
			printf("第%d个数为%d",j+1,x);
			break;
		}
	}
	printf("\n");
	return 0;
}


第一种:

#include<stdio.h>
#define N 10
int main()
{
	int a[N]={2,36,45,85,63,45,56,32,3,11},j,x;
	scanf("%d",&x);/*x代表去掉第几位*/
	for(j=0;j<=N-1;j++)
	{
		if(j>=x-1)
		{
			a[j]=a[j+1];/*相当于用后一位数直接覆盖这个数*/
		}
	}
	for(j=0;j<=N-2;j++)
	{
		printf("%d\t",a[j]);
	}
	printf("\n");
	return 0;
}

方法二:

#include<stdio.h>
#define N 10
int main()
{
	int a[N]={2,36,45,85,63,45,56,32,3,11},j,x;
	scanf("%d",&x);/*x代表去掉第几位*/
	for(j=0;j<=N-1;j++)
	{
		if(j!=x-1)
		{
			printf("%d\t",a[j]);	
		}
		else
		{
			continue;
		}
	}
	printf("\n");
	return 0;
}

**改 **

#include<stdio.h>
#define N 10
int main()
{
	int a[N]={2,36,45,85,63,45,56,32,3,11},j,x,y;
	scanf("%d%d",&x,&y);/*x代表改掉第几位,改为什么*/
	for(j=0;j<=N-1;j++)
	{
		if(j==x-1)
		{
			a[j]=y;
		}
	}
	for(j=0;j<=N-1;j++)
	{
		printf("%d\t",a[j]);
	}
	printf("\n");
	return 0;
}

#include<stdio.h>
#define N 10
int main()
{
	int a[N]={2,36,45,85,63,45,56,32,3,11},x,j,y;
	scanf("%d%d",&x,&y);/*x代表在第几位加入一个数*/
	for(j=N-1;j>=0;j--)
	{
		if(j>x-1)
		{
			a[j]=a[j-1];/*相当于用前一位数直接覆盖后面这个数,即a[9]=a[8]*/
		}
		if(j==x-1)
		{
			a[j]=y;
		}

	}
	for(j=0;j<=N-1;j++)
	{
		printf("%d\t",a[j]);
	}
	printf("\n");
	return 0;
}
上一篇:数学二易错点


下一篇:GitHub 开源的小工具「GitHub 热点速览 v.21.45」