整数数组int a[10],求和、平均分、所有偶数的个数。用指针完成。
时间: 2023-12-14 19:38:01 浏览: 74
```c++
#include <iostream>
using namespace std;
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0;
int evenCount = 0;
for (int i = 0; i < 10; i++) {
sum += *(a + i);
if (*(a + i) % 2 == 0) {
evenCount++;
}
}
double avg = sum / 10.0;
cout << "Sum: " << sum << endl;
cout << "Average: " << avg << endl;
cout << "Number of even numbers: " << evenCount << endl;
return 0;
}
```
解析:使用指针的方式可以通过指针偏移遍历数组,对每个元素进行求和、计算平均数和计算偶数个数的操作。其中,`*(a + i)` 和 `a[i]` 的效果是一样的,都是获取数组中第 i 个元素的值。
相关问题
用指针完成整数数组int a[10],求和、平均分、所有偶数的个数
下面是用指针完成整数数组int a[10]的求和、平均值、偶数个数的代码示例:
```c++
#include <iostream>
using namespace std;
int main()
{
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0, count = 0;
double average = 0.0;
// 求和
int *p = a;
for (int i = 0; i < 10; i++) {
sum += *p;
p++;
}
// 平均值
average = (double)sum / 10.0;
// 偶数个数
p = a;
for (int i = 0; i < 10; i++) {
if (*p % 2 == 0) {
count++;
}
p++;
}
cout << "sum = " << sum << endl;
cout << "average = " << average << endl;
cout << "count of even numbers = " << count << endl;
return 0;
}
```
代码解释:
1. 定义整数数组a,并初始化为1~10;
2. 定义sum、count和average变量,分别用于存储求和结果、偶数个数和平均值;
3. 使用指针p指向a数组的首元素,依次遍历数组元素并累加求和;
4. 求平均值时,将sum转换为double类型,然后除以数组长度;
5. 遍历数组元素,如果元素是偶数,则偶数个数加1;
6. 输出sum、average和count的值。
注意:在遍历数组时,使用指针移动指向下一个数组元素的位置。
用c语言写整数数组int a[10],求和、平均分、所有偶数的个数。用指针完成。
好的,这是您的问题:
```c
#include <stdio.h>
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0;
int even_count = 0;
double avg = 0.0;
int *p = a; // 指针指向数组的首地址
for (int i = 0; i < 10; i++) {
sum += *(p + i); // 通过指针访问数组元素
if (*(p + i) % 2 == 0) { // 判断偶数
even_count++;
}
}
avg = (double) sum / 10; // 计算平均数
printf("Sum: %d\n", sum);
printf("Average: %lf\n", avg);
printf("Even count: %d\n", even_count);
return 0;
}
```
输出结果为:
```
Sum: 55
Average: 5.500000
Even count: 5
```
以上代码使用指针遍历整数数组,求出数组元素的和、平均数和偶数的个数。