杨辉三角,我就不多说,详情请百度杨辉三角
废话少说,上代码:
#include<bits/stdc++.h>
#include<windows.h>
#include<tlhelp32.h>
#include<tchar.h>
#include<ShellAPI.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
using namespace std;
unsigned long long a[1009][1009];
string zhuan(unsigned long long k){
stringstream a;
a<<k;
return a.str();
}
void fz(string in)
{
if(!OpenClipboard(NULL)|| !EmptyClipboard())
{
printf("ERROR\n");
return;
}
HGLOBAL hMen;
hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(in.c_str())+1)*sizeof(TCHAR)));
if (!hMen)
{
printf("ERROR\n");
CloseClipboard();
return;
}
LPSTR lpStr = (LPSTR)GlobalLock(hMen);
memcpy(lpStr,in.c_str(), ((strlen(in.c_str()))*sizeof(TCHAR)));
lpStr[strlen(in.c_str())] = (TCHAR)0;
GlobalUnlock(hMen);
SetClipboardData(CF_TEXT, hMen);
CloseClipboard();
return;
}
int main()
{
string s;
int n;
cout<<"line:";
cin>>n;
cout<<"show:";
bool sh;
cin>>sh;
cout<<"copy:";
bool co;
cin>>co;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= i;j++){
if(j == i || j == 1){
a[i][j] = 1;
}
else{
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
}
for(int i = 1;i <= n;i++){
if(i < 10){
if(sh) cout<<i<<": ";
if(co) s += zhuan(i) + ": ";
}
else if(i < 100){
if(sh) cout<<i<<": ";
if(co) s += zhuan(i) + ": ";
}
else if(i < 1000){
if(sh) cout<<i<<": ";
if(co) s += zhuan(i) + ": ";
}
else if(i < 10000){
if(sh) cout<<i<<": ";
if(co) s += zhuan(i) + ": ";
}
else{
if(sh) cout<<i<<":";
if(co) s += zhuan(i) + ":";
}
for(int j = 1;j <= i;j++){
if(sh) cout<<a[i][j]<<" ";
if(co) s += zhuan(a[i][j]) + " ";
}
if(sh) cout<<endl;
if(co) s += "\n";
}
if(co) fz(s);
return 0;
}
line 行数,show 是否在程序内显示(1是0否),copy 是否复制到剪贴板(1是0否)
1000行杨辉三角
见代码包