在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标


题目:在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标。

代码及注释

//判断数组内任意两个数的和是否等于给定的目标值
#include<stdio.h>

//判断数组长度函数 len()
int len(int *a){
    int i = 0;
    while (1){   
    //while(1)有两种意思,分别是(1)这是一个死循环不再往下执行代码(2)循环以下{}中的代码,此处为后者 
        if (a[i])   //如果a[i]为真,或者说a[i]成立,则执行后面的语句 
            i += 1;
        else
            break;
    }
    return i;
}

//判断数组当中任意两数之和是否等于给定的目标值target
void TwoSum(int a[],int target){
    for(int i=0;i<len(a);i++){
        for(int j=i+1; j<len(a);j++){
            if(a[i] + a[j] == target){
            	printf("[%d, %d]", i, j);
            }
        }
    }
}

int main(){
    int a[] = {2, 7, 11, 15, 3, 6, 3};
    int target = 9;
    TwoSum(a, target);
    return 0;
}

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值