帮我完善杨辉三角的程序,谢谢

daolaAmeng 2008-04-10 06:19:49
#include <stdio.h>
void main()
{
int n,i,j,t=0;
int y[15][15];
/*提示输入三角形行数*/
printf("请输入三角形行数");
for(t=0;t<=2;t++)
{

scanf("%d",&n);

if(n>15)
printf("超出范围请重新输入");
if(n<=15)
{
/*用矩形的下三角部分,对杨辉三角型每行两边赋*/
for(i=0;i<n;i++)
{
y[i][i]=1;
y[i][0]=1;
}
/*从洋灰三角形的第三行,第二列起,每个元素的值等于其上一行对应的元素的两个值相加*/
for(i=2;i<n;i++)
for(j=1;j<i;j++)
y[i][j]=y[i-1][j-1]+y[i-1][j];
/*考虑怎么每一行怎么打,打多少行*/
for(i=0;i<n;i++){ /*打印n行*/
for(j=0;j<n-i-1;j++) /*每行前空白的部分自己推算*/
printf(" "); /*四个空格*/
for(j=0;j<=i;j++) /*打印相应的元素*/
printf("%4d ",y[i][j]);
printf("\n");
}

}


}
printf("输入次数过多");

}



请将程序下载运行,“输入次数过多”总会显示,怎样完善一下呢,谢谢
...全文
154 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨过白鹭洲 2008-04-10
  • 打赏
  • 举报
回复
唉。。。
asmst 2008-04-10
  • 打赏
  • 举报
回复
无疾而终?
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int i,j;
int num[11][11];
num[1][1]=1;
num[2][1]=1;
num[2][2]=1;

for (i=3;i<=10;i++)
{
num[i][1]=1;
for (j=2;j<i;j++)
num[i][j]=num[i-1][j]+num[i-1][j-1];
num[i][j]=1;
}

for (i=1;i<=10;i++)
{
for (j=1;j<=i;j++)
printf("%d\t",num[i][j]);
printf("\n");
}

getch();
}
c_spark 2008-04-10
  • 打赏
  • 举报
回复
#include  <stdio.h> 
void main()
{
int n,i,j,t=0;
int y[15][15];
/*提示输入三角形行数*/
printf("请输入三角形行数");
//for(t=0;t <=2;t++) 你的只能输入三次三角形的行数...
while(1)
{

scanf("%d",&n);

if(n>15)
printf("超出范围请重新输入");
if(n <=15)
{
/*用矩形的下三角部分,对杨辉三角型每行两边赋*/
for(i=0;i <n;i++)
{
y[i][i]=1;
y[i][0]=1;
}
/*从洋灰三角形的第三行,第二列起,每个元素的值等于其上一行对应的元素的两个值相加*/
for(i=2;i <n;i++)
for(j=1;j <i;j++)
y[i][j]=y[i-1][j-1]+y[i-1][j];
/*考虑怎么每一行怎么打,打多少行*/
for(i=0;i <n;i++){ /*打印n行*/
for(j=0;j <n-i-1;j++) /*每行前空白的部分自己推算*/
printf(" "); /*四个空格*/
for(j=0;j <=i;j++) /*打印相应的元素*/
printf("%4d ",y[i][j]);
printf("\n");
}

}

}
//printf("输入次数过多");

}
baihacker 2008-04-10
  • 打赏
  • 举报
回复

#include <stdio.h>

#define N 10
#define SWAP(x, y) x^=y^=x^=y

int main()
{
int a[2][N];
int i, j;
int from = 0, curr = 1;

for (i = 0; i < N; printf("\n"), a[curr][(i++)+1] = 0, SWAP(curr, from))
for ( printf("%d\t",a[curr][0] = j = 1); j <= i; j++)
printf("%d\t", a[curr][j] = a[from][j] + a[from][j-1]);

return 0;
}

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧