最值问题
来源:互联网 发布:linux没有iptables文件 编辑:程序博客网 时间:2024/06/06 00:29
- 找最小数,输出,并输出它的位置
#include<stdio.h>main(){ int a[1000+1], min, i, mi; int m=6; //有m个数据 for(i=0; i<m; i++) scanf("%d", &a[i]); min=a[0]; mi=0; // min记录当前最小数据的值,mi记录其下标位置,它们应该同步 for(i=0; i<m; i++) if(a[i]<min) //发现更优解, 更新答案 { min=a[i]; mi=i; } printf("%d, %d\n", min, mi); return 0;}
- 输入一些整数(不超过1000个),哪两个数最接近,输出结果?
(1) 假设答案只可能有一对数。
#include<stdio.h>#include<math.h>main(){ int a[1000+1], min, i,j, x,y ; int m=6; //有m个数据 for(i=0; i<m; i++) scanf("%d", &a[i]); min=fabs(a[0]-a[1]); x=0 ; y=1; // x, y记录最接近的那对数的位置 for(i=0; i<m-1; i++) for(j=i+1; j<m; j++) if( fabs(a[i]-a[j])<min ) { min=fabs(a[i]-a[j]); x=i; y=j; } printf("%d %d\n", a[x], a[y]); return 0;}
- 输入一些整数(不超过1000个),哪两个数最接近,输出结果?
(2) 考虑答案可能有多对数的情况。
#include<stdio.h>#include<math.h>#define N 1000main(){ int a[N+1], i,j,k=0, min;// int x[N], y[N] ; //可以把满足条件的数据都记录下来 int m=6; //有m个数据 for(i=0; i<m; i++) scanf("%d", &a[i]); min=fabs(a[0]-a[1]); //找出最小的差值 for(i=0; i<m-1; i++) for(j=i+1; j<m; j++) if( fabs(a[i]-a[j])<min ) min=fabs(a[i]-a[j]); for(i=0; i<m-1; i++) for(j=i+1; j<m; j++) if( fabs(a[i]-a[j])==min ) { printf("%d %d\n", a[i], a[j]); //直接输出答案 // x[k]=i; y[k]=j; k++; //记录当前这对数的下标 }// for(i=0; i<k; i++) // printf("%d %d\n", a[x[i]], a[y[i]]); //根据记录输出信息 return 0;}
0 0
- 88. 最值问题
- 区间最值问题
- 最值问题(二分法)
- 最值问题
- 最值问题
- 1003 局部最值问题
- RMQ 区间最值问题
- RMQ区间最值问题
- BUPT OJ88 最值问题
- Matlab各种最值问题
- RMQ-区间最值问题
- 区间最值的问题
- 完全背包+最值问题
- RMQ求区间最值问题
- C语言 5个数最值问题
- [Google] RMQ 区间最值问题
- rmq问题(区间最值)
- RMQ算法 (区间最值问题)
- [Leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal
- 通达信目录文件结构及说明
- 数组,二维数组
- php 中文字符串截取的函数
- C语言内存模型相关
- 最值问题
- 关于Spring的69个面试问答——终极列表
- unity3d研究之 装载武器
- [Leetcode] 106. Construct Binary Tree from Inorder and Postorder Traversal
- 动态逻辑卷的添加以及数据库迁移的测试
- Java中8个顶级开源NoSQL数据库
- 三分求点到二次函数最小值
- 将一个数字以字符格式输出
- LeetCode Set Matrix Zeroes