c++ - 如何输出数组的元素(在奇数位置,偶数位数为奇数?
问题描述
如果我有 4 个元素,按以下顺序:4 10 2546 和 100、4 和 2546 在奇数位置,4 有 1 个偶数位,2546 有 3 个偶数位,所以输出应该是“4 2546”,但是我的程序只有输出“0 0”,我认为这是因为while循环,但我不知道如何修复它。
#include <iostream>
using namespace std;
int main()
{
int n, evenDigits = 0, r, x;
cout << "How many elements?\n";
cin >> n;
int* v = new int[n];
for(int i=0; i<n; i++)
cin >> v[i];
for(int i=0; i<n; i=i+2){
evenDigits = 0;
x = v[i];
while(x != 0){
r = x % 10;
if(r % 2 == 0)
evenDigits++;
x /= 10;
}
if(evenDigits % 2 == 1)
cout << x << " ";
}
return 0;
}
解决方案
你犯了一个小错字。
在 cout 语句中,您显示 x 的值,该值已被除法设为 0。
您需要显示存储在 v[i] 中的原始值。
因此,请将您的 cout 语句修改为:
cout << v[i] << " ";
推荐阅读
- php - 带有 ACF 中继器字段的 PHP 邮件格式
- linux - 使用 awk 在每个“追加”实例中向新变量添加不同的值
- wpf - 与 ItemsSource 的 wpf 绑定问题
- c# - 如何更改模块 FormAndList(又名 UserDefinedTable)中 MsBuildTasks 的包文件夹的路径?
- amcharts - 如何将图表中的所有项目设置为在上午图表中具有相同的颜色 4
- python-3.x - Iterate through a list passed to the class
- go-gorm - 如何在 GORM 中引用复合主键?
- openlayers-6 - OpenLayers Vector tiles Styling Optimization
- python - Python: Is it possible to predict the runtime of the code?
- python - 使用 pd.cut 对列值进行分组 - pandas