C语言代码 /*数组元素的删除*/ #includeiostream #includestdlib.h using namespace std ; int num [ 100 ], number ; int main () { for ( int i = 0 ; true ; i ++ ) { cin num [ i ]; if ( num [ i ] 0 ) break ; number += 1 ; } int x , i =
C语言代码
/*数组元素的删除*/using namespace std;
int num[100], number;
int main()
{
for (int i = 0; true;i++)
{
cin >> num[i];
if (num[i] < 0)
break;
number += 1;
}
int x , i = 0;
cout << "请输入需要删除的数字:";
cin >> x;
for (int i = 0; i < number;)
{
if (x == num[i])
{
int n0 = i + 1;
for (int j = i; j < number; j++, n0++)
{
num[j] = num[n0];
}
i = 0;
}
else
i++;
}
for (int i = 0; i < number-s0; i += 1)
cout << num[i] << " ";
system("pause");
return 0;
}
具体介绍
for (int i = 0; true;i++){
cin >> num[i];
if (num[i] < 0)
break;
number += 1;
}
- 随意输入小于100个数字,并以负数作为结束标志
{
if (x == num[i])
{
int n0 = i + 1;
for (int j = i; j < number; j++, n0++)
{
num[j] = num[n0];
}
i = 0;
}
else
i++;
}
- 遍历数组元素,如果碰到需要删除的元素,则进入循环——将后续元素向前移一位,并覆盖掉需要删除的那个元素
- 重新让 i=0 从头再次开始遍历
- 当正在判断的数组位不是需要删除的元素时,便i++