最小正子序列(序列之和最小,同时满足和值要最小)(数据结构与算法分析——C语言描述第二章习题2.12第二问)
2014-05-07 11:23
295 查看
#include "stdio.h" #include "stdlib.h" #define random(x) (rand()%x) void creat_array(int a[],int len,int max); void print_array(int a[],int n); void main(){ printf("please input two numbers as the array's length and the array's max_number: \n"); int n,max; scanf("%d,%d",&n,&max); int a ; void creat_array(int a[],int len,int max){ //产生一个随机正负数组 for(int i=0;i<len;i++){ a[i]=random(max)-max/2; } } //int a[]={4,-1,5,-2,-1,2,6,-2}; //int a[]={4,-1,4}; creat_array(a,n,max); int min_sum_sqe(int a[],int n){ //求出数组a的子序列的最小正子序列和 //任何一个子序列和都可表示成两个子序列之差ABCD序列,B序列可以表示成AB序列减去A序列。 int sum ; int s=0; for(int i=0;i<n;i++){ sum[i]=0; } for(int i=0;i<n;i++){ s+=a[i]; sum[i]+=s; } printf("产生的数组和是:\n"); print_array(sum,n); int min; for(int i=0;i<n;i++){ if(a[i]>0){ //因为是求最下正数,必须要保证min>0,不然下面代码中的if判断会失效 min=a[i]; printf("min:%d \n",min); break; } } int thismin; for(int j=0;j<n;j++){ thismin=sum[j]; for(int k=j;k<n-1;k++){ thismin=sum[k+1]-sum[j]; if(thismin>0&&thismin<min){ min=thismin; printf("%d,%d,%d\n",sum[k],sum[j],min); } } } return min; } int key=min_sum_sqe(a,n); printf("最小的正子序列和: %d\n",key); printf("产生的随机数组:\n"); print_array(a,n); } void print_array(int a[],int n){ //打印随机数组 for(int i=0;i<n;i++){ ((i+1)%10==0)?printf("%4d \n",a[i]):printf("%4d ,",a[i]); } }
这是 数据结构与算法分析——C语言描述中看第二章习题2.12 第二问的代码
发布到首页候选去是想各位园子里感兴趣的大神看看这个求最小正序列和的代码正确否。谢谢了
相关文章推荐
- 《数据结构与算法分析-C语言描述》第二章部分习题思路
- 《数据结构与算法分析--c语言描述》之第二章:算法分析
- 《数据结构与算法分析--c语言描述》之第二章:算法分析
- 【数据结构与算法分析——C语言描述】第二章总结 算法分析
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 习题2.8 随机数组的三种生成算法(补) 将bash的实现翻译成比较纯正的bash风格
- 数据结构与算法分析——C语言描述 第三章的单链表
- 队列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 数据结构与算法分析——c语言描述 练习3.4 答案
- 《数据结构与算法分析-C语言描述》详解-Sec2(一)
- 由《数据结构与算法分析-C语言描述》开始的数据结构与算法学习之旅
- 散列-分离链接法(数据结构与算法分析-C语言描述)
- 《数据结构与算法分析——c语言描述》 练习6.32 答案
- 二叉查找树 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 最小最序列和以及最小正子序列
- 队列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 线性序列中同时求出最大值和最小值
- 平方探测法的证明《数据结构与算法分析(C语言描述)第二版》P119
- 优先队列(堆) - C语言实现(摘自数据结构与算法分析 C语言描述)
- 由《数据结构与算法分析-C语言描述》开始的数据结构与算法学习之旅
- 《数据结构与算法分析-C语言描述》详解-Sec2(二)