在n个数中找到 n-1个数的和为一个值,突然想到,怎么在n个数中找n-2、n-3等等。

本文介绍了一个C语言程序,用于解决计算一组数据中四个数之和等于给定目标的问题。通过跳过已读取的数,提高算法效率。输入包括数据组数、元素数量和目标和,核心函数`sumoffour`遍历并查找符合条件的组合。
摘要由CSDN通过智能技术生成

思路,跳过一个数

#include<stdio.h>
#include<assert.h>

void sumoffour(int a[], int n, int sum);

int main()
{
int a[100];
int T;
int n;
int sum;

scanf("%d", &T);

while(T--) {
    printf("第%d组\n", T + 1);
    scanf("%d%d", &n, &sum);
    assert(n <= sizeof(a));

    for(int i = 0; i < n && a[i] != EOF; i++) {
        scanf("%d", &a[i]);
    }

    sumoffour(a, n, sum);
}

return 0;

}
void sumoffour(int a[], int n, int sum){
int i,j,c;
int m = n - 1;
int b[100];
int bs;
int number,A = 0;
for(i = 0; i < n && a[i] != EOF; i++){
number = 0;
bs = 0;
for(j = 0; j < n; j++){
if(j == i)
continue;
else{
number += a[j];
b[bs] = a[j];
++bs;
}
}

    if(number == sum){
        A = 1;
        printf("The sum of ");
        for(bs = 0; bs < n-1 && b[bs] != EOF;++bs)
            printf("%d ", b[bs]);
        printf("is %d\n", sum);    
    }
}
    if(A == 0)
        printf("No answer\n");

}
input形式
x //计算几组数据
y z//y是n-1个数 z是n-1个数的和
。。。。。。。//这里放上n个数
如此反复,共x次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值