---------1-----------
#include "stdafx.h"
#include"iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a[10]={1,4,4,5,6,7,7,8,9,10};
int i=0;
int j=0;
for(i=0;i<10;i++)
{
if(a[i]==-1)
{
break;
}
if(a[i]==a[i+1])
{
j++;
for(int k=i;k<=10-j;k++)
{
a[k]=a[k+1];
a[11-j]=-1;
}
i--;
}
}
for(int i=0;i<10-j;i++)
{
cout<<a[i];
cout<<",";
if(a[i]==-1)
{
break;
}
}
cout<<endl<<10-j;
return 0;
}
//注意点:数组不像链表,可以自动删除内存空间,也不会自己赋值为零;所以赋一个特殊值方便判断即可;
//有可能会有多个重复值出现,在循环中利i--使其回到两比较元素中的后一位,而不是将后面两位进行比较;
-----------2--------------
#include "stdafx.h"
#include"iostream"
using namespace std;
int f(int n)
{
if(n==1)
{
return 1;
}
else if(n==2)
{
return 2;
}
else
{
return f(n-1)+f(n-2);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int n;
cin>>n;
f(n);
cout<<"所走的方式:";
cout<<f(n);
return 0;
}
--------3----------
#include "stdafx.h"
#include"iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a[10]={10,3,9,5,3,2,5,7,9,1};
int interest=0;
int n=0;
for(int i=1;i<10;i++)
{
for(int j=0;j<9;j++)
{
if(j+i>=10)
{
break;
}
n=a[i+j]-a[j];
if(n>interest)
{
interest=n;
}
}
}
cout<<"最大利润:";
cout<<interest;
return 0;