請設計一個程式,輸入N個正整數,然後輸出一個三角形陣列,其中相鄰兩元素之差取其絕對值至於所對英兩元素之上面。例如89781213,輸出結果如下:
10
55 65
11 66 1
89 78 12 13
++++++++++++++++++++++++++++++++++
#include
#include
#include
//#include <>
using namespace std;
void CalABS(int Num,vector
{
//cout<<"CalABS"<
for(int i=0;i
vecNext[i] = abs( vecPre[i]-vecPre[i+1]);
}
}
int main(int argc ,char* argv[] )
{
//cout<<"argc="<
long Maxlen=0;
int Num =argc-1;
vector
for(int i=0 ;i < Num ;++i)
{
Array[0][i]= atof(argv[i+1]);
long Len = strlen(argv[i+1]);
if( Len > Maxlen )
{
Maxlen = Len;
}
}
//cout<<"Maxlen="<
for(int j=0;j < Num;++j )
{
int ThisNum = Num -j;
//cout<<"Array[0]["<
{ CalABS(ThisNum,Array[j],Array[j+1]);}
}
//cout<<"Maxlen="<
for(int Level(Num-1),Count(1) ;Level>=0;--Level,++Count)
{
for(int bt=0;bt
cout.width(Maxlen);
cout<<" ";
}
//cout.width(Maxlen);
//cout<<" ";
//cout<<"Count="<
for(int m=0;m < Count ;++m)
{
cout.width(Maxlen);
cout<
cout<<" ";
}
cout<
return 0;
}
++++++++++++++++++++EX:
[root@mos01_linux ABS]# ./main 01 22 20 33 66 99
10
1 11
8 9 20
19 11 20 0
21 2 13 33 33
1 22 20 33 66 99
全站熱搜
留言列表