#include
int k =10;
void fun(int a[10])
{
int one;
printf("select one number:" );
scanf("%d",&one);
for(int i=0;i { if(a[i]==one) { for(int j=i;j a[j]=a[j+1]; k--; i--; } } } void main() { int a[10]; int i=0; printf("input 10 number:"); while(i<10) { scanf("%d",&a[i]); i++; } fun(a); printf("result is:"); for(int j=0;j printf("%d ",a[j]); }
#include
#include
char *fun(char a[])
{
int i,j,k=strlen(a);
char n;
printf("请输入您要删除的数");
fflush(stdin);
scanf("%c",&n);
for(i=0;iif(a[i]==n)
{
for(j=i;ja[j]=a[j+1];
k--;
i--;
}
return a;
}
int main()
{
char a[81];
printf("请输入要输入的数组元素:\n");
scanf("%s",a);
printf("删除后的数组顺序为%s",fun(a));
}
#include
#define SIZE 10
void del(int arr[],int *counter);
int main(void)
{
int arr[SIZE];
int counter=0;
int index;
printf("请输入%d个整数:\n",SIZE);//输入数组元素
for(counter=0;counter{
printf("arr[%d]:",counter+1);
scanf("%d",&arr[counter]);
}
del(arr,&counter);//删除
printf("删除后的数组:\n");
for(index=0;index{
printf("%d ",arr[index]);
}
putchar('\n');
return 0;
}
void del(int arr[],int *counter)
{
int i,j;
int n;
printf("请输入n:");
scanf("%d",&n);
for(i=0;i<*counter;i++)
{
if(arr[i]==n)
{
for(j=i;j<*counter-1;j++)
{
arr[j]=arr[j+1];
}
(*counter)--;
i--;
}
}
}
题目正好用到我刚学的数组,指针了,嘿嘿
虽然简单,但是挺有意思
不过这个我没写输入控制
k是多少?你没有定义,是个随机值, 循环就有问题, 可能要越界了, 应该在for语句前加一句;
k = strlen(a);
另外, 内循环的条件, 改为for (j = i; j < k - i; j++); 不然就循环多了, 数组越界.