遇到的比较有意思的问题(1)去掉重复数字(2)提取数组的子数组,求和最大的子数组、最大的子数组和
(1) 去掉数组中重复的数字,即每个相同的数字只出现一次
#include<stdio.h>int main(){ int a[8]= {1,-3,4,5,9,-7,5,-4},b[8]={0}; int i,j,max=0,sum=0,sum1,row1 ,row2,k; for(i =0;i<=7;i++) { for(j=i;j<7;j++) { sum=sum+a[j]; if(max<sum) { max=sum; row1=i,row2=j; } printf("sum=%d\t",sum); } sum = 0; printf("\n"); } printf("和最大max=%d \n子数组为",max); for(k=row1;k<=row2;k++) printf("a[%d]=%d\t",k,a[k]); return 0; }