刚才无聊搞的 杨辉三角 大家看看啊!感觉执行时间有点长啊 !求指导
#include<iostream>using namespace std;
void main()
{
int n,r,c,m,j=0;
cout<<"请输入所要计算的行数(行数小于14)"<<endl;
cin>>m;
while(m>=14)//判断m的大小
{
if(j>=2)
{
cout<<"你已经输入错误三次,已无权输入"<<endl;
return;
}
cout<<"你输入的行数已经超出范围,请重新输入!"<<endl;
cout<<"请重新输入所要计算的行数(行数小于14)"<<endl;
cin>>m; //重新输入m
j++; //输入的次数叠加
}
for(n=0;n<=m-1;n++) //n行的循环
{
for(r=1;r<15-n;r++)//第n行前的空格处理
cout<<" ";
c=1;
cout<<c<<" ";
for(r=1;r<=n;r++)
{
c=c*(n-r+1)/r;//杨辉三角的算法 每一行的个数等于行数 每一行的开头为 其后的数值为=前面的数值*(所在的行-所在行中序数)/所在行的序数
if(c<100)
if(c<10)
cout<<c<<" ";//一位数后面输出三个空格
else
cout<<c<<" ";//2位数后面输出2个空格
else
cout<<c<<" ";//3位数后面输出1个空格
}
cout<<endl;//换行
}
}