首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C新手!

2012-02-29 
C新手求助!!我想写一个能实现多次删除数据的程序,代码如下:# include stdio.hvoid del (int a[],int siz

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。

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;} 

热点排行