解题思路:

注意事项:

参考代码:import java.util.*;
public class Main {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int size = sc.nextInt();//先输入数组长度
       int array[] = new int[size];
       for (int i = 0; i < size; i++) {
           array[i] = sc.nextInt();
       }//存入数据
       Arrays.sort(array);
       int sum = sc.nextInt();//输入求和值
       int a=0;//用一个简单的变量a用于计数
       for (int i = 0; i < size/2; i++) //因为经过排序,外循环可以用二分分一半的数据内容
       {
           for (int j = i + 1; j <size; j++)//内层循环再去寻找相加等于sum值的另外一个值
           {
               if (array[i]+array[j]==sum) {
                 System.out.println(array[i]+" "+array[j]);
                 a++;//当找到有这样一对数据时,时计数a增加,以便判断是否查找到与sum相等的一对数据
                 return;
               }
           }
       }
       if (a==0)
       {System.out.println("No");}
   }}

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论