(一)增:
#includeint main(){ int a[11] = {11,22,33,44,55,66,77,88,99,111}; int m,end,temp1,temp2; int i, j; printf("please input new number:"); scanf("%d", &m); end = a[9]; if (m >= end) { a[10] = m; }//比较这个数和数组的最后一个数的大小,如果大于最后一个数直接插入数组末尾即可 else { for (i = 0; i < 10; i++) { if (a[i] > m)//若数组中元素大于这个数,就插入于此,这位置之后的数都向后移动一个单位 { temp1 = a[i];//保存第i个位置的数值 a[i] = m;//将新输入的数插入到第i个位置 for (j = i + 1; j < 11; j++) { temp2 = a[j]; a[j] = temp1; temp1 = temp2; }//将i之后的元素向后移动一个单位 break; } } } printf("The new array is:"); for (i = 0; i < 11; i++) { printf("%3d", a[i]); } return 0; } //转载于@程序猿群哥@度小编
(二)删(无序数组删除某个指定元素):
方法一:遍历法
int main()
{
int arr[]={1,2,3,4,5,6,6};
int delect =0;
int i=0,j=0,k=0;
int n;//n为数组长度
n=sizeof(arr)/sizeof(int);
printf("删除前数组为:");
for (k=0;k<=n-1;k++)
{
printf("%4d",arr[k]);
}
printf("/n") ;
printf("please input the number you want to delect");
scanf("%d",&delect);
for (i=0;i<=n-1;i++){
if(delect ==arr[i])
{
for(j=i;j<+n;j++)
{
arr[j]=arr[j+1];//实现数的覆盖
}
}
}
printf("删除后的数组为");
for(k=0;k<=n-2;k++)
{
printf ("%4d",arr[k]);
}
printf("n");
return 0;
}//转载于@topicstudy
方法二:记录元素下标
#includeint main() { int arr[]={1,3,6,5,4,};//4后面还有一个,的意思是数组是动态长度吗? int delect=0; int delectIndex=0; int i=0;//非循环嵌套,可以只定义一个 int n ; n=sizeof(arr)/sizeof(int); printf("Original array:") ; for (i=0;i<=n-1;i++){ printf("%4d",arr[i]); } printf("n"); printf("please input the number you want to delect:"); scanf("%d",&delect); for(i=0;i<=n-1;i++){ if(delect==arr[i]) delectIndex=i;//记录要删除的元素的下标 } for(i= delectIndex;i<=n-2;i++) { arr[i]=arr[i+1];//后面的元素顺位往前移动 } printf("The deleted array is:"); for (i=0;i<=n-2;i++) { printf("%4d",arr[i]); } printf("n"); return 0; } //转载于@topicstudy
以上代码存在bug:如果输入的元素在数组里面不存在,会自动删除a[0].
(三)查找元素是否存在
#includevoid input(int array[10],int n); int find(int array[10],int n); int main() { int array[10]={0}; int i, n, h; do { printf("please input the whole numbers-n(0 10); input (array,n); h= find(array,n); } void input(int array[10],int n) { int i; printf("请输入%d个数组元素:n",n); for (i=0;i (四)改指定位置的元素的数值
#includeint main(void){ int i; int num[]={1,2,4}; num[2]= 120;//位置在2,及数组的第3个元素 for(i=0;i<3;i++) printf("%d ",num[i]); }



