C语言删除数组指定元素的源代码如下:
#include <stdio.h>。
main()
char s[80],c;
int j,k;
printf("\nEnter a string: ");。
gets(s);
printf("\nEnter a character: ");。
c=getchar( );
for(j=k=0;s[j]!= '\0';j++)。
if(s[j]!=c)
s[k++]=s[j];
s[k]= '\0';
printf("\n%s\n",s);。
system("pause");。
扩展资料
自定义函数代码如下
function delarrayval2($arr,$v){。
$keyarr = array_keys($arr, $v);。
if(count($keyarr)){。
foreach ($keyarr as $key) {。
unset($arr[$key]);。
return $arr;
在JAVA中如何从数组中删除一个元素的程序如下:
package org.usc.action;。
import java.util.ArrayList;。
import java.util.Arrays;。
import java.util.List;。
public class Test {。
public static void main(String[] args) {。
String[] str={"张三","李四","王五","宋六","赵七","朱八","何九","田十"};。
List<String> list=Arrays.asList(str);//将数组转换为list集合。
if(list.contains("张三"))。
{//加入集合中包含这个元素
///这个时候我们直接移除会报错,所以我们要转换为Arraylist。
//list.remove("张三");。
List<String> arrayList=new ArrayList<String>(list);//转换为ArrayLsit调用相关的remove方法。
arrayList.remove("张三");。
for(String str1:arrayList ){。
System.out.print(str1+",");}。
}}
部分解释:
1、remove这些method时出现java.lang.UnsupportedOperationException异常。
2、这是由于Arrays.asList() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList, remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。
3、ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(),add()等, 所以throw UnsupportedOperationException。
扩展资料:
因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集。
Java允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
int i , j = 0 , k = 0 ;。
for ( i = 0 ; i < 200 ; i ++)。
if (i = 198)
{k++;k++;i=0;}
else
Array [j] = Array [k];。
j++;
k++;
while (k == 2400)。
break;
如果数组里全是3 那我输入要删除的3之后 楼主想要一个什么结果呢。
是9个3 还是一个元素也不输出?
下面的程序可能能实现楼主的意思。
#include<stdio.h> 。
void main()
{
int a[10]={1,3,7,61,86,12,75643,8989,1,3},n,i; 。
printf("input the number to delete:");。
scanf("%d",&n); 。
for(i=0;i<10;i++) 。
if(a[i]!=n)
printf("%d ",a[i]); 。
main()
int i,j,x,a[]={12,5,4,23,8,18,41,34,15,9};。
printf("输入要删除的数:");。
scanf("%d",&x);。
for(i=0;i<10;++i)。
if(x==a[i])
for(j=i;j<9;++j) //删除指定的数。
a[j]=a[j+1];
a[9]=0;
break;
if(i==10)
printf("没有找到指定的数");。
else
for(i=0;i<9;++i) //输出删除后的数组。
printf("%d ",a[i]);。