C新手!
C新手求助!!
我想写一个能实现多次删除数据的程序,代码如下:
# include <stdio.h>
void del (int a[],int size,int del_num)
{
for (int i = del_num; i <= size - 1; i++ )
a[i - 1] =a[i];
}
int main (void)
{ int a[20] = {1,5,6,54,321,532,664,3456,4432,10000};
int count = 0,x;
for (int i = 0; i < 10; i++)
printf("%d\t",a[i]);
printf("\n请输入:您想删除数据的位置(输入q退出)\n");
while (scanf("%d",&x) == 1)
{
del (a,10 - count,x);
count ++;
printf("\n删除后的数组是:\n");
for (int i; i < 10 - count; i++)
printf("%d\t",a[i]);
printf("\n请再次输入您想删除数据的位置(输入q退出):\n");
}
printf("您总共插入了%d个数据\n",count);
return 0;
}
但是执行结果,确实出现了错误,这是怎么回事?
请大家指点!
------解决方案--------------------
main函数while里的for循环,i没有初始化为0。
我想写一个能实现多次删除数据的程序,代码如下:
# include <stdio.h>
void del (int a[],int size,int del_num)
{
for (int i = del_num; i <= size - 1; i++ )
a[i - 1] =a[i];
}
int main (void)
{ int a[20] = {1,5,6,54,321,532,664,3456,4432,10000};
int count = 0,x;
for (int i = 0; i < 10; i++)
printf("%d\t",a[i]);
printf("\n请输入:您想删除数据的位置(输入q退出)\n");
while (scanf("%d",&x) == 1)
{
del (a,10 - count,x);
count ++;
printf("\n删除后的数组是:\n");
for (int i; i < 10 - count; i++)
printf("%d\t",a[i]);
printf("\n请再次输入您想删除数据的位置(输入q退出):\n");
}
printf("您总共插入了%d个数据\n",count);
return 0;
}
但是执行结果,确实出现了错误,这是怎么回事?
请大家指点!
------解决方案--------------------
main函数while里的for循环,i没有初始化为0。
- C/C++ code
# include <stdio.h> void del (int a[],int size,int del_num) { for (int i = del_num; i <= size - 1; i++ ) a[i - 1] =a[i]; } int main (void) { int a[20] = {1,5,6,54,321,532,664,3456,4432,10000}; int count = 0,x; for (int i = 0; i < 10; i++) printf("%d\t",a[i]); printf("\n请输入:您想删除数据的位置(输入q退出)\n"); while (scanf("%d",&x) == 1) { del (a,10 - count,x); count ++; printf("\n删除后的数组是:\n"); for (int i=0; i < 10 - count; i++) printf("%d\t",a[i]); printf("\n请再次输入您想删除数据的位置(输入q退出):\n"); } printf("您总共插入了%d个数据\n",count); return 0; }