C++的题求解
查找出数组(数组为10个单元)中是否存在整数5,如果不存在打印0,存在就将5删除。(可能有多个5)
输入一行数据,共10个数输出打印删除后的数据样例输入样例输入1 1 1 1 1 1 1 1 1 1 1 样例输入2: 2 5 8 1 6 4 5 6 7 3样例输出样例输出1: 0 样例输出2: 2 8 1 6 4 5 6 7 3补充:这是我的代码:#includeusing namespace std;int a[50],f=0;int main(){for(int i=1;i>a[i];if(a[i]=5)f++;}if(f==0)cout补充:cout最佳答案
1.你的要求与例样不全面,不好理解
你的"存在就将5删除"是删除一个还是所以的?从例样看只删除了一个
2.你的程序虽然不完整,但明显的错(初学者常犯的)
if(a[i]=5)
正确的是
if(a[i]==5)
C++的=是赋值,==才是判断
所以很多教材推荐的写法是把常量放在前面,也就是
if(5==a[i])
你若写成if(5=a[i])编译器就会报错了
其他回答
其它网友回答:
#include"stdafx.h"
其它网友回答:
#include<iostream>
其它网友回答:
using namespace std;
其它网友回答:
其它网友回答:
void findFive() {
其它网友回答:
int size = 10;
其它网友回答:
int *Num = new int[size];
其它网友回答:
for (int i = 0; i < 10; i++)
其它网友回答:
cin >> Num[i];
其它网友回答:
其它网友回答:
for (int k = 0; k < 10; k++) {
其它网友回答:
while (Num[k] == 5 ) {
其它网友回答:
size--;
其它网友回答:
for (int j = k; j < size; j++)
其它网友回答:
Num[j] = Num[j + 1];
其它网友回答:
}
其它网友回答:
}
其它网友回答:
其它网友回答:
if (size == 10)
其它网友回答:
cout << 0 << endl;
其它网友回答:
else
其它网友回答:
for (int i = 0; i < size; i++)
其它网友回答:
cout << Num[i]<<" ";
其它网友回答:
delete[] Num;
其它网友回答:
}
其它网友回答:
其它网友回答:
int main() {
其它网友回答:
findFive();
其它网友回答:
return 0;
其它网友回答:
}
其它网友回答: