C语言-找出数组中两个数字的和为该数字的位置

devtools/2025/1/6 3:56:04/

1.题目要求

(语言: C)给定一组整形数组和一个数字,找出数组中两个数字的和为该数字的位置,例如
数组{2, 7, 11, 15}, 数字9,输出为1,2函数原型为:
int *twoSum(int numbers[], int n, int target) 
//函数中定义一个动态数组,用于存储这两个数字的下标,最后返回动态数组的首地址。
//不要忘了在主函数中要释放动态数组占用的内存。输入输出格式为
printf("Please input the array size\n");
scanf("%d");
for(){printf("Please input the %d-th number\n",i);scanf("%d");}printf("Please input the target number\n");scanf("%d");if (存在){printf("The index1: %d; the index2: %d\n");printf("values are %d and %d.\n");}else{printf("result is not available!\n");}程序运行如下
Please input the array size
3
Please input the 0-th number
1
Please input the 1-th number
2
Please input the 2-th number
3
Please input the target number
3
The index1: 1; the index2: 2
values are 1 and 2.

2.代码实现 

#include <stdio.h>
#include <stdlib.h>int *twoSum(int numbers[], int n, int target) {int *result = (int *)malloc(2 * sizeof(int));for (int i = 0; i < n - 1; i++) {for (int j = i + 1; j < n; j++) {if (numbers[i] + numbers[j] == target) {result[0] = i;result[1] = j;return result;}}}free(result);return NULL;
}int main() {int n;printf("Please input the array size\n");scanf("%d", &n);int *numbers = (int *)malloc(n * sizeof(int));for (int i = 0; i < n; i++) {printf("Please input the %d -th number\n", i);scanf("%d", &numbers[i]);}int target;printf("Please input the target number\n");scanf("%d", &target);int *result = twoSum(numbers, n, target);if (result) {printf("The index1: %d; the index2: %d\n", result[0], result[1]);printf("values are %d and %d.\n", numbers[result[0]], numbers[result[1]]);free(result);} else {printf("result is not available!\n");}free(numbers);return 0;
}


http://www.ppmy.cn/devtools/147917.html

相关文章

Synopsys软件基本使用方法

Synopsys软件基本使用方法 1 文件说明2 编译流程3 查看波形4 联合仿真 本文主要介绍Synopsys软件vcs、verdi的基本使用方法&#xff0c;相关文件可从 GitHub下载。 1 文件说明 创建verilog源文件add.v、mult.v、top.vmodule add (input signed [31:0] dina,input signed [3…

期权懂|期权交易中如何避免情绪化交易?

锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 期权交易中如何避免情绪化交易&#xff1f; 一、制定明确的交易计划 在进入市场之前&#xff0c;投资者应制定详细的交易计划&#xff0c;包括交易目标、预期收益、可接受的风…

从零开始自搭SpringBoot项目 -- Qingluopay项目工程介绍

从零开始自搭项目 – QingLuoPay 一&#xff0c;为什么要从零开始自搭项目 首先在介绍这个项目之前先介绍一下我为什么要选择从零自搭项目&#xff0c;而不是跟着网上哪些视频等做项目。 之前的很长一段时间我也都是在网上找一些做项目的视频就包含黑马的&#xff08;神领物…

如何实现el-select多选下拉框中嵌套复选框并加校验不为空功能呢?

如何实现el-select多选下拉框中嵌套复选框并加校验不为空功能呢&#xff1f; 要实现的效果图选择部分品牌但不选选项效果问题概述实现方案el-select组件与el-checkbox组件无缝衔接给form表单加自定义校验规则 要实现的效果图 选择部分品牌但不选选项效果 问题概述 相信大家看到…

xilinx的高速接口构成原理和连接结构及ibert工具的使用-以k7 GTX为例

一、相关简介 Xilinx的高速接口称之为transceivers(高速收发器&#xff09;&#xff0c;这部分的电路是专用电路&#xff0c;供电等都是独立的&#xff0c;根据速率可以分为GTP/GTX/GTH/GTY/GTM等。 Xilinx的高速接口是QUAD为单位的&#xff0c;没一个QUAD由一个时钟COMMON资…

可由 (5V) 单片机直接驱动的模块

可由 &#xff08;5V&#xff09; 单片机 直接驱动的模块 1. 传感器类 元器件描述温度传感器DS18B20&#xff08;数字温度传感器&#xff09;光强传感器光敏电阻&#xff08;通过 ADC 读取&#xff09;红外传感器红外接收模块&#xff08;如 VS1838&#xff09;超声波传感器HC…

家政预约小程序05活动管理

目录 1 搭建活动管理页面2 搭建活动规则页面3 搭建规则新增页面3 配置规则跳转4 搭建活动参与记录总结 上一篇我们介绍了活动管理的表结构设计&#xff0c;本篇我们介绍一下后台功能。 1 搭建活动管理页面 我们一共搭建了三个表&#xff0c;先搭建主表的后台功能。打开我们的后…

uni-data-select文字过长显示省略号问题修复

操作步骤&#xff1a; 下拉框选项文字超过25字符但是未满一行时会出现省略号 预期结果&#xff1a; 满一行再出现省略号而非25字符 实际结果&#xff1a; 满25字符就出现省略号 bug描述&#xff1a; 组件uni-data-select.vue显示修复过此bug <view v-if"current&…