C语言给定 n 个整数 a1, a2, … , an ,求它们两两相乘再相加的和,即 S = a1 · a2 + a1 · a3 + · · · + a1 · an + a2 · a3 + · · · + an-2 · an-1 + an-2 · an + an-1 · an.代码思路和注释两种方法
时间: 2023-07-30 14:10:36 浏览: 166
代码思路:
1. 定义一个变量 sum,用于存储结果;
2. 两层循环遍历数组中的每个元素,计算两两相乘的结果并累加到 sum 中;
3. 返回 sum。
代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j, sum = 0;
printf("请输入整数个数:");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
sum += a[i] * a[j];
}
}
printf("结果为:%d\n", sum);
return 0;
}
```
代码注释:
```c
#include <stdio.h>
int main() {
int n, i, j, sum = 0; // 声明变量
printf("请输入整数个数:");
scanf("%d", &n); // 输入整数个数
int a[n]; // 定义数组
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) { // 循环输入数组元素
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++) { // 外层循环遍历每个元素
for (j = i + 1; j < n; j++) { // 内层循环从外层循环后面一个元素开始遍历
sum += a[i] * a[j]; // 计算两个元素相乘的结果并累加到 sum 中
}
}
printf("结果为:%d\n", sum); // 输出结果
return 0;
}
```
阅读全文