|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int array[] = {4,85,3,234,45,345,345,122,30,12};
int count = 10;
int i;
int deletearray,deleteindex;
printf("请输入要删除的元素:");
scanf("%d",&deletearray);
for (i = 0;i < count;i++)
{
if (deletearray == array[i])
{
deleteindex = i;
break;
}
for (i = deleteindex;i < count - 1;i++)
{
array[i+1] = array[i];
}
}
printf("输出删除后的数组:");
for (i = 0;i < count;i++)
{
printf("%d\t",array[i]);
}
return 0;
}
为神魔数组没变化呢
本帖最后由 风过无痕丶 于 2018-3-11 18:00 编辑
- #include <stdio.h>
- int main()
- {
- int array[] = { 4,85,3,234,45,345,345,122,30,12 };
- int count = 10;
- int i;
- int deletearray, deleteindex;
- printf("请输入要删除的元素:");
- scanf("%d", &deletearray);
- for (i = 0; i < count; i++){
- if (deletearray == array[i]){
- deleteindex = i;
- // 如果循环内嵌~这个break就会停止整个循环~下面那个for就白瞎了~
- break;
- }
- }
- // 还有我觉得这个deleteindex变量可有可无。。
- for (i = deleteindex; i < count - 1; i++)
- {
- //array[i + 1] = array[i]; // 直接这么写 会复刻一堆你删除的元素
- array[i] = array[i + 1];
- }
-
- printf("输出删除后的数组:");
- for (i = 0; i < count-1; i++) {
- // 既然遍历赋值都少赋值了一个,同样这里显示也要少显示一个
- printf("%d ", array[i]);
- }
- return 0;
- }
复制代码
|
|