C语言实现:查找连续子数组和为14
#include <stdio.h>
int main() { int nums[30]; // 存储每天面试的学生数 int i, j, k; // 循环计数器 int sum = 0; // 当前连续数的和 int flag = 0; // 是否找到符合条件的数列 int start = 0; // 符合条件的数列的起始位置
while (1) {
// 读入每天面试的学生数
for (i = 0; i < 30; i++) {
scanf("%d", &nums[i]);
}
// 遍历所有可能的连续数列
for (i = 0; i < 30; i++) {
sum = nums[i];
for (j = i + 1; j < 30; j++) {
sum += nums[j];
if (sum == 14) { // 找到符合条件的数列
flag = 1;
start = i;
break;
}
}
if (flag) { // 找到符合条件的数列,跳出两重循环
break;
}
}
// 输出结果
printf("%d ", start + 1); // 数列的起始位置要加1
for (k = start + 1; k <= j; k++) { // 输出数列
printf("%d ", nums[k]);
}
printf("\n");
// 重置变量
sum = 0;
flag = 0;
start = 0;
// 判断是否结束
if (nums[0] == 0) {
break;
}
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oWg0 著作权归作者所有。请勿转载和采集!