如何导入大于k的A [n]数组元素(在这种情况下,是数组A [n]的第一个元素),并打印它们?这不起作用,你能解释一下为什么吗?
#include <iostream>
using namespace std;
main() {
int a[100], b[100], n, k, i=0;
cin>>n;
for (i; i<n; i++)
cin>>a[i];
i=0;
k=a[0];
for (i; i<n; i++) {
if (a[i]>k)
b[i]=a[i];
}
i=0;
for (i; i<n; i++)
cout<<b[i];
}
答案 0 :(得分:0)
数组b的输出不能完美运行的原因是因为并非数组b的所有元素都存储了一个值。对于i的所有值,其中[i]&lt; = k,b [i]将具有值0或垃圾值(取决于编译器)。
为了避免它,您应该将代码编写为:
#include<iostream>
using namespace std;
main() {
int a[100], b[100], n, k, i=0;
cin>>n;
for (i; i<n; i++)
cin>>a[i];
i=0;
k=a[0];
int j=0; //another variable j for keeping track of array b
for (i; i<n; i++) {
if (a[i]>k) {
b[j]=a[i];
j++;
}
}
i=0;
for (i; i<j; i++) //Run the value of i from i=0 to i=j
cout<<b[i];
}