hdu 2032 杨辉三角(最后一组后不加空行的处理) 20140731.c

来源:互联网 发布:java字节转为字符串 编辑:程序博客网 时间:2024/06/05 18:54

哭太可恶了,刚开始最后一个输出后有换行是PE,后来把最后一换行去掉还是PE哭,郁闷啊!!可是最后把最开始写的有换行的代码提交,又过了,!!之前试了好多次都没过的啊啊大哭大哭,题目不是要求最后一个后不加换行的吗??!!抓狂不过还是学会了最后一个后面没有换行的写法。算是有些收获,谢谢小伙伴大笑

 

题目大意:

输出杨辉三角形,多组数,每组输入一n,代表三角形的行数。杨辉三角如下:

输入输出格式如下:

(明明最后一个后面没有空行的啊哭

解题分析:

用二维数组定义,把三角形中是1的写出来,及第一列为1,第i行i列为1。从三行开始处理,(这里i取2),每个数值是本列上一行和上一列上一行的和,最后输出数组a[i][j].

 

代码:

#include<stdio.h>
#define N 33
int main()
{
    int n,i,j;
    int d=0;
    while(scanf("%d",&n)!=EOF)
    {

    //    d++;
    //    if(d>1)
    //    printf("\n");//最后一个之后不加空行的处理方法
        int c[N][N];
        for(i=0;i<n;i++)
        {
            c[i][i]=1;
            c[i][0]=1;
        }
        for(i=2;i<n;i++)
        {
            for(j=1;j<i;j++)  //第 i行i列为1
                c[i][j]=c[i-1][j]+c[i-1][j-1];
        }
        for(i=0;i<n;i++)
        {
            for(j=0;j<=i;j++){
                if(j<i)
                    printf("%d ",c[i][j]);
                else
                    printf("%d",c[i][j]);
                }
            printf("\n");
        }
        printf("\n");
    }
    return 0;
}

 

0 0
原创粉丝点击